The IP address reported is the _actual_ IP address of the machine connecting, not the IP address of the "ehlo" response. You can't masquerade that in sendmail at all.
I am thinking there is no way then, to use virtual domains and have the mail server show up as mail.mydomain.com at all. It will be my hostname I have now and that is it.
If these are virtual machines (uml, xen, vmware, whatever) then the host could do IP NAT so that traffic _looks_ like it's coming from the host (or another of the virtual machines). If they're physically seperate boxes then you need to arrange for a smart-host type setup and have mail forwarding through that.