For WordPress, you can go for bluhost, hostgator or dreamhost.
They provide you with free domain and adwords credits with the hosting package.
I think you should go for a dedicated server rather than shared hosting.
Dedicated server might meet your need.
Also, use gzip compression, cloudflare or maxcdn for CDN network to serve you data more securely and quickly.
And try to use cache plugins for WordPress. w3 total cache or WP super cache.
This will help you reduce load on your server and will make you audience access your pages quickly.
I hope the answer helps.