To run WordPress you need the following:
PHP version 5.2.4 or greater
MySQL version 5.0 or greater
Make sure you server has enough resources to comfortably run those. The main bottleneck you're going to run into is MySQL queries. If you have 20K+ visitors, try to limit the number of times those visitors will trigger a database query. There are many approaches to doing that. Just search around for WordPress performance or optimization. For example:
The amount of RAM required is contingent on how many applications and services are going to be running at once. A good place to start might be 512MB, but you might want 1GB. Thankfully RAM is cheap and even hosting companies are beginning to pass on the savings. You may want even more, but again, this all depends on what you'll be running. Here's a good discussion about server RAM: http://webmasterformat.com/blog/how-much-ram
It's optimistic to think you'll have that many visitors right away. It takes time to build up an audience that size. But with that in mind, try to get a hosting company that doesn't care about bandwidth that much. Most are content to give you a relatively "fat pipe" and have no monthly limit (within reason). During this time, you'll learn how much bandwidth your site requires to serve up and when your site finally breaks through to the big time and the ISP comes a knockin' to renegotiate your monthly bandwidth, now you'll know how much to buy.
It's also important to learn how to save bandwidth whenever possible. This has two advantages: one, you'll save money, and two, you'll increase performance. There are tons of articles out there on how to fine-tune your web site's performance. Check out Yahoo's "Best Practices for Speeding Up Your Web Site"
As far as disk space goes, you need enough to run the OS, the installed programs, you need room for log files (depending on your server/OS, try to make sure these are automatically compressed, otherwise in no time you'll run out of hard drive space), and finally how big is your blog going to be? How many entries will there be in the database? How many and how big are the images going to be? If you've already designed the blog, you should know how big the base site is already. But how much stuff are you going to upload each month? Make sure you have enough room for all of it. Also, like I already said, consider offloading many of the site's static resources off to a CDN. Also, use other services for your video hosting like YouTube or Vimeo. I run a VPS that has a 40GB hard drive and it's plenty.