Short answer - you are already using a paid DNS host - the cost is just hidden within the domain registration service.
GoDaddy are hosting your DNS records as part of the registration service. EasyDNS will do the same thing for you - i.e. register a domain name for you, and provide DNS services, as will all the competition. If you don't know why you would want one provider over another, then the only thing that probably matters is the price you paid for the domain name.
DynDNS provide additional services which allow you to use your domain name with a dynamic IP address - e.g. your ISP doesn't give you a static IP address. Again, if you don't know you need this, then you probably don't.
Your rDNS records will remain with your hosting provider. While they can delegate this, you won't be able to use standard techniques to setup the PTR records with GoDaddy.
I will use example.com for your domain as that is recommended domain for documentation.
Setup your MX for example.com to point to your mail server (mail.example.com). Setup the IP address for mail.example.com as an A record. You can create as many CNAME or A records as you want for this server, but mail is a good general purpose name that can be used in place of all the CNAMES you are using.
If you want to be able to browse example.com, you will need an A record for it. Configure www.example.com as an A record.
Consider setting up TXT records for SPF.
If you have a global IPv6 address block, you can configure IPv6 and add AAAA record in addition to your A records. Otherwise don't setup AAAA records.
GoDaddy will configure the SOA and NS records.
EDIT: Suggested temporary db contents. Use the correct nameservers from GoDaddy, these may be incorrect. Shut down bind after 2 days to a week.
When you move back to GoDaddy you will need to add address records for the domain, www, and mail as well as the MX record. This will have to be done through their web interface. I have added suggested SPF records. The records you need to add start with the first A record which is for your domain.
$TTL 1H
@ IN SOA ns1.godaddy.domain.com. admin.mydomain.com. {
2011031200
3H
1H
1W
1H }
IN NS ns1.godaddy.domain.com
IN NS ns2.godaddy.domain.com
IN A 111.111.11.111
IN MX 10 mail
IN TXT "v=spf1 mx -all"
www IN A 111.111.11.111
IN TXT "v=spf1 -all"
mail IN A 111.111.11.111
IN TXT "v=spf1 A -all"
Once you have this setup try using the host command to check the values from godaddy. Start with host -a mydomain.com ns1.godaddy.domain.com
. Also check the www and mail addresses. If they are resolving correctly and showing godaddys nameservers, then everything is setup. It will take a couple of days for any record pointing at your host to age out of DNS cache.
Best Answer
You can host multiple websites on a single IP through the magic of name based virtual hosting. Whether or not softlayer are "cheating" depends entirely on what precisely they've agreed to provide, and that's something you'd need to take up with them. If their tech support is at all reasonable, then they should be able to clear up any confusion with you, and if they can't, then you perhaps need to reconsider whether they're suitably competent to provide you with hosting services.