gern and gerne
What rule decides whether "gern" is written with or without an "-e"?
You're right, christian. But some older speakers might disagree. When I was still in primary school my German teacher used to mark me "gern" as an error. For her "gerne" was the only correct one. (And that's only about 15 years ago. Wow. When I write it like that I feel really old.)
According to Zwiebelfisch (http://www.spiegel.de/kultur/zwiebelfisch/zwiebelfisch-abc-gerne-gern-a-323744.html) "gerne" is the older version, but nowadays both are used without any difference in meaning or style.
My new German dictionary also has that as a translation. I assume it's the closest literal translation, but few people would these days say it that way, although I don't think it's unheard of or archaic. More someone being a bit deliberately flamboyant with their language.
No, this is something completely different. 'lang Haare' is ungrammatical. 'lang' is an adjective. 'gern/gerne' is an adverb. Adjectives are declined according to case, gender, number and preceding article. Adverbs don't change. Usually, there is only one form of an adverb. 'Gern/gerne' is an exception in this regard.