I'm afraid I'm quite short on concrete details, but I think one avenue that will solve your problems is LDAP. I used it about a year or so ago to centralize login authentication to a single server, and got it working on my home network, but I kind of drifted onto other things after that. So you'll have to do a fair amount of reading on the subject to figure out how it'll help your particular situation; to that end, here are some links I found useful:
If you're willing to put down money for a book, I can highly recommend this one by Gerald Carter, he really explains it clearly in detail:
Once I got LDAP running, I was able to create login accounts on the server. Then on client machines you can configure them to refer to the server for authentication. Once authenticated, you can even have a user's /home directories (which reside on the server) mounted on the client after login has completed. This means that any changes a user makes to his/her desktop will follow them should they log in from a different machine on the same network later.
I'm sorry I can't offer more details at this point, like I said, I did this a couple of years ago. But I think it's one solution to your dilemma, and hopefully others on this site will be able to fill in some blanks. Good luck!