I have a home PC that I use for downloading media (divx, mp3, etc) and browsing any websites that I wouldn't want to view on my work PC. I just use Windows remote desktop to connect back to my home PC. The IP address on my cable modem seems to never change. If it were to change, I connect to my slingbox and run a netstat to see what comcast IP address I am connecting to from my laptop. I have a netgear router so I just set up port forwarding for remote desktop to the dedicated IP of my home PC. I also use this PC to stream divx to my xbox so I can watch divx files at home on my TV without using my laptop.
The PC has Windows XP installed on it to support the streaming media to my xbox. I installed VMware and linux running in a VM. I'm still working on how to set up the port forwarding so that I can launch an SSH session or VNC from a remote machine and go straight to my virtual linux server.
I ordered a bare bones machine from NewEgg and put it together myself rather than a PC from someone like Dell or HP.