First, and foremost, you will need a Dynamic DNS service. (DDNS) I recommend www.no-ip.com. There you will sign up for a free subdomain, and download an IP updater to run in the background of your system to update your IP address everytime your Internet provider changes it.
I have a d-link router which comes with the no-ip ip updater built into it, so this is a feature you may want to look into.
Next, you will need a hosting platform. IIS 5.1 comes with windows XP Pro, but you will have to custom install it with your windows disk. (goto START -> CONTROL PANEL -> ADD REMOVE PROGRAMS -> ADD WINDOWS UTILITIES -> IIS)
Apache is also a great, free alternative which runs on linux or windows.
In your router, you will have to setup port forwarding for port 80 requests to always go to your machine, and unblock that port inbound and outbound from your firewall.
If you choose IIS, then you just put your website in the directory c:\inetpub\wwwroot with the first page being default.html
thats it. Here are some resources on the steps you will be taking:
Setting up your router with a Dynamic IP
http://www.no-ip.com/support/guides/other/using_cable_dsl_router.html
Using IIS
http://www.no-ip.com/support/guides/web_servers/setting_up_iis.html
Check your routers manufacturers website for the steps to do port forwarding on your model.