ok, here's a brief howto's from me:
1. register a DNS management for your domain, if your domain provider can do that, you don't need that. but if you only have the authority to change domain nameserver, you'll need this. some services are free, eg. zoneedit.com, everydns.net, xname.org.
2. after you have account there, add you domain zone in your account, then change your nameserver to point to your dns management.
3. setup all records needed.
remember, MX records must be a host name, cannot be numeric. while A records can be numeric.
so, if you already have 2 hosting account in different company, just create required records.
example:
i have a domain: mydomain.com
hosting 1 ip address is: 123.123.123.1
hosting 2 ip address is: 234.234.234.2
so, if i want
www.mydomain.com or mydomain.com to my hosting 1 account, I'll create an A record for mydomain.com and
www.mydomain.com to point to 123.123.123.1
and, if I want all email addressed to myemail[@]mydomain.com to be stored in hosting 2 account. First, I need to create a hostname for MX records, so I'll create an A record for example mail.mydomain.com to point to 234.234.234.2
Then, I'll setup a MX record for mydomain.com to point to mail.mydomain.com
That's it !