So If i have all this untapped bandwidth sitting idle all the time, what exactly would i need to install on my home XP computer to host my domains on my machine?
Linux.
Assuming you're just hosting personal pages and nothing professional, you could install something like Apache or MS Personal Web Server (which may be included with XP Pro - it was with 2000) on XP. Either will run as a service in the background and serve up web pages. PWS is limited, IIRC, to 10 simultaneous connections, so it won't be good for a high traffic site.
But I'd find an old spare computer (doesn't need to be anything even remotely powerful) and install Linux on it to run as a web server. It'll be a lot more stable, and generally less prone to viruses and such. You don't really need a monitor or anything hooked to it unless you're updating the software (rarely) - once you've got it setup, you can pretty much just let it run on it's own. Having a machine (Windows or Linux) dedicated to doing the hosting also means you don't have to worry about downtime when you need to reboot, etc.
You don't need a static IP if you use one of the free services like DynDNS, which keeps your IP address current in the DNS entries for your domain.