Interesting question. Just as an example of typical state regulations, here's what the state of Iowa says:
LinkQUOTE
No punctuation marks are allowed.
No denoting a government agency (i.e., DOT ).
No display of characters which are sexual in connotation.
No characters suggesting profane, obscene or inflammatory words or phrases, or those contrary to public policy.
No characters or words defined in dictionaries as a term of vulgarity, contempt, prejudice, hostility, insult, or racial or ethnic degradation.
No characters considered to be offensive.
No characters that conflict with the regular license numbering system.
Any foreign word falling in any of these categories.
No duplicate combination of characters, such as:
0000AA thru 9999ZZ 0000A thru 9999Z A000 thru Z999
000AAA thru 999ZZZ 000AA thru 999ZZ Numbers only
A0000 thru Z9999 AA000 thru ZZ999
That's a lot of restrictions, and some of them are wide open to interpretation. "Contrary to public policy" -- what does that mean, exactly? "Considered to be offensive" -- that's pretty broad.
The consensus seems to be that the state can limit what appears on license plates in any way they want. It would be
nice to make them as open to public expression as possible, but there appears to be no obligation for them to do so.
So:
1. Yep.
2. Nope. (Or, it's at least a "permitted" restriction of the First Amendment.)
3. Not really.
(On a related issue, what about those license plates that say "Choose Life" -- there are not any, as far as I know, that say "Keep Abortion Legal." The state should not offer official license plates with clearly stated positions on controversial political issues.)