Okay, now we have an (almost) unqualified success.  What worked for me, actually, was in the documentation!

I added these options to my sendmail.mc

MASQUERADE_AS(mail.mpls.uswest.net)dnl
MASQUERADE_DOMAIN('localdomain.')dnl
FEATURE(masquerade_envelope)dnl

after which I used 'm4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf'

to recompile sendmail.cf from sendmail.mc

Not half as bad as I thought it was going to be.  Some of the fields are still wrong but at least I can send mail!

Thanks,
David