I would (and I do, scroll down to the ?'s) put the hints in the label. Two reasons:
one is flow. Anyone going through a form linearly (such as in a text browser or with a screen reader) doesn't want to answer the question first and THEN get told how to answer it. Lots of backpedaling.
Second, the span won't be read out in a screen reader who has a Forms Mode. The Big 2 for Windows do have a Forms Mode, where the user is in a special mode to interact with the inputs. Here, only form controls are read out. If the user is in a regular reading mode then p's and spans and things will get read out. But if the span's in a label, it does get heard (I sometimes wonder if it's a bad thing but my boss did insist on help text). The whole idea of hints is always assuming a sighted person with a broad field of vision.
If you're going to use CSS like you're thinking, it has to be non-essential information. Something nice to have, but that any user without it has no trouble using the form (in the example you give, yeah, people will find the maxlength on their own anyway).
Should work in IE7.
and as for IE6 users they simply have to live with server side script feedback for errors.
Everyone should get server-side errors. Errors are not hints. Hints are extras... niceties, pretties, whipped cream on the cake. Error messages however are essential. Everyone need to get them.
I think if your hints are just slightly redundant stuff like telling people what an email address consists of, then you can consider doing it with the span and adjacent selector and CSS (heck, screw the span: see below) alone.
content: "an email address must have an @ symbol";
blah blah styles;
You might have to make all the inputs relatively positioned (with no coordinates) and make the :after absolutely positioned to make enough room, but I've done this with anchor titles when I know I want sighted keyboarders to be able to get the benefits of title text, and it works except in IE6 and 7. Does work in IE8. Again, this isn't a problem if the text is superfluous anyway.