It's certainly possible to use one provider for web hosting, and a separate registrar for the domain name.
The usual way to do this is by updating the name servers for the domain. In the domain settings at the domain provider, you enter the host's nameservers. In the case of Dreamhost they are ns1.dreamhost.com, ns2.dreamhost.com. Meanwhile you create a site on Dreamhost using the domain name, and the nameservers will essentially connect the two together.