Why is "a lot" written as two words even though "ahead" is written as one word?

Solution 1:

No, they aren’t doing the same thing.

It's because these a- words are mostly ancient prepositional phrases in origin that eventually got squished together — but into adverbs, not quantifiers or adjectives. Consider aback, abroad, above, afoot, across, afar, ahead, ajar, akin, alike, aloud, amid, apart, atop, away.

That a- portion was an unstressed version of the word on way back in Old English, according to Oxford Dictionaries Online. As a prefix it most often means on or to something, or in that manner.

So the process that created all these fused prepositional phrases turned to adverbs is not one that would give rise to such things as *alot, *alittle, *abit, *abig, *afat, *acool, *abad, *anold.

Articles and prepositions aren’t the same thing, so to‑day you aren’t going to get an adjective by fusing an article to an adjective. For that we have a newt, an orange, an apron, a nickname. :)

More seriously, this very thing did once happen aforetimes to give us another. Then again, whether other counts as an adjective is dubious in modern analysis. In any event, it is not a productive process now‑a‑days.

Solution 2:

The flip answer is that (per the OED) starting in the 1600s, ahead became a nautical term meaning forward, as in full speed ahead, and a head couldn't be used because that was already the term for the forepart of the ship. (Since that's the place for the ship's toilets, head survives today as slang for the loo.)

The real answer is that a string of letters becomes a word when enough people incorporate that string in their vocabulary. Consider alright, which has become an acceptable substitute for all right, possibly influenced by words like almost and altogether.