i would recommend going with a router if you are just looking for something to get the job done. it is much easier to configure/troubleshoot and you dont need a machine running 24/7 they are not much more expensive than a hub or switch + an extra network card.
however, as vectordrake said, if you are really interested, then you have the perfect oppurtunity to learn something.
regarding your compatibility questions, dhcp is dhcp. a windows box should be able to get a lease from a linux dhcp server and a linux box SHOULD (stressing the SHOULD
) be able to get a lease from a windows dhcp server.
i think probably the only compatibility issue you might run in to would be sharing filesystems (ie netbios shares for windows and nfs (and others) in linux). samba is probably your ideal solution for this problem.
I believe the official website for samba is http://www.samba.org.
if you don't already know about samba you should check it out, you will probably find it useful.