I was proofreading something, and I had to figure out if "life-long" was incorrect, so I did a quick search online to see what others had to say.
I found a very good writing/editing blog by professional editor Rob Bignell connected to his business. He seems to be the real deal, though I've never met him nor anyone who's used his services.
Anyway, he offers a good explanation of the correct spelling and issues surrounding it: it should be one word, "lifelong," and he explains that "Confusion over the spelling arises because compound words, when used as an adjective, usually require a hyphen."
So if you're wondering, use "lifelong" and make anything with "long" at the end of it one word as well.