1) Samba and NFS (IMHO). You can find the Samba how-to on their website, and it provides close to step-by-step instructions on how to set it up. For Linux, I did it the cheap way and used NFS and simply mounted the share in /home across the Linux machines. The issue, though, is that after a while for some reason it didn't want to unmount, and that was the only NFS share that didn't like unmounting on reboots.
2) Windows has roaming profiles (which work decently enough as long as a user doesn't log in from multiple locales), and Linux with NFS is synch'd real-time, for lack of better terms. You won't need to synchronize between servers since they contain two separate sets needed information (for lack of better terms)
3) Yes. The privies are box-dependent in NFS. Just make sure the UID's and GID's are the same across the board or you could have issues.
This is NOT the best solution for your problem, but it is a solution none-the-less, and I can tell you flat out that there are much better solutions. This is just the cheap-n-easy way.