Assuming you are clear about the difference between registra, DNS provider, hosting service and ISP then you should note:
a) yes beware of the comments regarding IP changes at DreamHost - unless you pay for a dedicated IP address at DH then your shared hosts IP can and will change. I’ve seen IPs on my domains change several times in the last few months.
b) some “full” DNS services like ZoneEdit let you delegate a subdomain to another DNS provider thus yourdomain.com could be hosted with one hosting service and subdomain.yourdomain.com could be delegated to DreamHost using their DNS servers. To be honnest I’ve never tried it but it seems like it could be possible.
c) DreamHost now offers full DNS for free even with the basic CDI plan - the only limitation I have found is that even if you want to use external email services (i.e. custom MX records) they still fill your DNS with entries like mail.yourdomain.com. This is inconvenient if you were planning to point MX records to mail.yourdomain.com and have an A record to mail.yourdomain.com which is a machine elsewhere. You’ll just have to set MX to someotherhostname.yourdomain.com and create an A record for that too. Not a big deal except if you have domain users who were expecting to enter mail.yourdomain.com in their mail clients - just tell them what to put and everything will be okay.
Note that a possible solution to a) would be to tell your current DNS provider that your domain is on a dynamic IP and run a Linux client on your host that will update the IP for you using one of the established dynamic IP update protocols. DNS providers like ZoneEdit and dyndns.org can do that.
Although I kept my registrar, DNS provider and hosting provider separate for several years I’ve been pretty happy to combine everything in one place with DreamHost since they added unlimited domains and full DNS in the basic plan. Although DH registration fees are not the lowest the extra one or two bucks is more than compensated by the simplicity of having everything in one place. My experience of DNS elsewhere (say from my ISP, which is one of the best) is that it is notoriously difficult to get really rock solid and DreamHost does okay - not the best but good enough and definitely way about the worst.
Hope this all helps!
Obligatory and shameless DreamHost discount plug: get the maximum discount available by entering the code TECHTIMEMAX a checkout - up to $97 off most plans!