Re: registration email adress domain
The first part is simple. Make sure you’re using WPMU (even if you don’t use the extra blog features). Then, there’s a configuration option to restrict registration to certain domains.
I haven’t tested the changing the email after the fact, but you’ll probably have to filter something to make it possible for them to change their email since I’m pretty sure it will still require the specified domains if you don’t tell it not to.