You need to configure your domain name DNS settings to allow *.carolinapolitics.us to point to your web site. Then you can just parse the incoming URL to figure out the name. However, this has some shortcomings. You aren't going to be able to host this on an IIS environment that has many websites as each website is identified and "routed" to the appropriate application starting point in IIS by means of host headers, i.e. the URL. I don't think you can have IIS handle a situation like this. Following typical implementations of this it would probably be much easier to handle it this way:
www.carolinapolitics.us/johnsmith
It's not quite as elegant but it will be much easier to support and deploy.
-Peter
compiledthoughts.com