To use two different hosts, you must use subdomains, not subdirectories. A subdomain is like blog.domain.com
So you can have your main site of domain.com pointed to one host, and a subdomain like blog.domain.com pointed to another host. You do this pointing by creating A Records or C Names in your DNS settings to point to each hosting company.
To setup one wordpress while a different one is live to the public, you will have to have a separate installation on a subdomain, then move it when you're ready to go live.