This is something I was recently thinking about, and now there's an article about it: Is it defamatory to call someone gay?, Gabriel Arana in Slate. Defamation is damage to someone's reputation through public statements. Traditionally, there are certain statements that are defamation per se, such as "attacks on a person's professional character or standing, allegations that an unmarried person is unchaste, that a person is infected with a sexually transmitted disease, or allegations that the person has committed a crime of moral turpitude." www.expertlaw.com When a plaintiff brings a cause of action for defamation per se, he or she doesn't have to prove damages - damages are presumed. Obviously, historically it was considered a crime of moral turpitude to be gay, not to mention being "unchaste."
This article brings up an interesting question. Can it be defamatory to call someone gay when not everyone thinks being gay is immoral, nor is it illegal for the most part (in this country). Arana thinks that gay rights groups, who have been silent on this issue, should actively oppose private lawsuits seeking damages for being called gay. He thinks people could be shamed into dropping such suits. In some ways, this is idealistic, as there could be situations where someone could be damaged if they were thought to be gay, such as an actor whose public persona rests on a heterosexual image (Tom Cruise brought such a case). Naturally, it would be better if this weren't the case. Ideally, no one would think there's any problem with being gay. But we're not there yet.