I believe domain names can be 64 characters long, but in the guinness book I remember seeing a really long name of a town in wales who have a website with that name.
But limit it to 64 chars for the sake of sanity :-)
As far as subdomains: again, any segment of a FQDN (fully qualified domain name) can be upto 64 chars.
Then as you know, there are the TLDs, which the longest i know of is .museum (which will come out pretty soon).
For the username before the @ sign, it depends on the e-mail system. I think sendmail allows 256 (not sure). Qmail, being more recent, may allow more.
If you ask me: if you don't have a very large audience using this validation, then stick with 256 chars of maximum COMBINED domain name (w/ the subdomains, etc) and 128 for the stuff before the @ sign.
I would really like to see a person who has a longer (and valid) email address than that!
-sridhar