In regards to routing based on subdomain, you should reference the following SO post.
*Sorry, I normally don't like to just link to an answer, but in this case, I don't want to take the credit from the original poster for the solution
EDIT
Check out solution 2 to follow up on my comments below as a working example. You can ignore the ISAPI rewrite as the MVC routing engine would do this for you given the above solution from SO. Below is a snippet that you might find useful:
Setup DNS Server
Add the following entry into your DNS
server and change the domain and IP
address accordingly.
*.example.com IN A 1.2.3.4 Setup the Web Server
We are assuming that you already have
a web site created for your main site:
www.example.com. So let's just double
check to make sure it will be able to
accept all variations of the
subdomains.
* Open IIS Management Console and select your web site.
* Right click on it and select Properties.
* Click on Web Site tab.
* Click on Advanced button.
* Make sure there is one entry under the Multiple identities for this
Web Site with Host Header Name field
blank. This entry will intercept all
requests that comes to this IP
address.
* Make sure the IP address is only used by this web site.