This only works if you are controling the domain records and the site hosting yourself, if your hosting company is controling your dns records AND your hosting, I relly don't know what you can do in this case.
But if you registered your domain with... say
http://www.bluerazor.com and you are being hosted at say
http://www.ehostpros.com, which I am, then when you log into your domain name account on Bluerazor, you will have the option to change the DNS records to poing the the ehostpros servers, which is somthing like 126.ehostpros.com.
As long as this is set, when ever someone opens their browser to yoursite.com the dns records will send them to ns126.ehostpros.com where your site is hosted and voila!
If you open a new hosting account at say uselesshost.com they will send you the info to log in and upload your site on their servers, which would probally be ns66.uselesshost.com and you would probally be able to view your new site at the servers url which would be somthing like
http://uselesshost.com/server66/~yoursite
As long as you visit that server url you will be able to find your new site. This will not affect your other site at ehostpros.com
When you are ready however you can change your DNS records at bluerazor.com, to point your domain yoursite.com from the ehostpros server to the server where your new site is located, which would be ns66.uselesshost.com and after 24-48hours (usually less) when ever someone types in your domain name in the browser, it will go to the new site and not the old.
Hope this helps. Please tell me if I omitted something anyone.