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