You could get TeamSpeak and grant access to create multiple rooms with passwords for your players to use. Granted, all of your players would require TeamSpeak for them to use it.
Flash would be your best bet. I do have some code if you would be intrested in that. However its a global chat-type thing so you'd have to put a lot of work into it. And also get a server to host the flash communications....
You could try Flash or Java workarounds though.