As to which operating system to use:
Windows XP will work fine, unless you expect to have more than a dozen or so computers connecting to it simultaneously. XP has a built-on restriction on the number of client computers it will allow at once. This is a licensing issue rather than a technical issue; Microsoft wants people to buy their more expensive server version rather than use their cheaper home version for that purpose. Still, from what you describe I don't think this will be an issue for you if you pick XP.
Microsoft also publishes Windows Home Server
which is exactly what its name suggests.
Another option would be a non-Windows (i.e. Linux/BSD) OS. There are a number of advantages (and disadvantages) over a Windows-based OS. Chief among the advantages are the facts that there are numerous distributions (versions) of Linux and BSD which are specifically geared towards servers, especially headless ones -- which brings me to the next advantage: you don't need a monitor. Linux can run completely without a graphical interface or even a keyboard attached. Remote administration tools are aplenty, assuming you don't mind a little command-line-fu.
Hardware-wise there's really not much to say. A low-traffic server isn't going to be particularly taxing even the most sickly of post-2000 PC hardware. That said, you will probably want to beef up the storage capacity and make sure it has a good, fast network card. Also: if at all possible, connect your server to your network with actual cables; wifi will saturate very quickly if more than one file is streaming from the server at once.