In old Russian (maybe, 11th century or alike) nouns had 3 grammar numbers: Singular, Dual and Plural. And yes, that was the way all the Indo-European languages developed. The dual number was lost in most of the languages by merging with plural, however it still exists in a few of them (Scottish Gaelic, Slovenian, Sorbian and Frisian:
http://en.wikipedia.org/wiki/Dual_(grammatical_number)).
The traces of the dual form are still found in Russian: рук
ав (a sleeve) has an unusual form of plural: рукав
а (instead of the expected
рукавы, which does not exist). The same is with глаз (eye): глаз
а (and not
глазы). The same is with
ухо (ear):
уш
и (and not
уха, as it should be expected for the neutral gender). There are some other similar examples.
The explanation is that all those forms (рукава, глаза, уши) which are now considered as plurals, used to be the dual forms (old Russian: рукав (1) - рукава (2), рукавы (>2), the latter was rarely used since sleeves usually come in pairs, the same with eyes, ears...).
But the old Russian had separate dual and plural forms for every countable noun.
That is why, the number "два" (2) was originally used with the dual form: два года (two years), два города (2 towns), два моста (2 bridges).
So, what's wrong with "три", "четыре"? They are not dual, they should require plural. Yes! But the language sometimes changes obeying "the rule of analogy". People started using 3 and 4 the same way as 2. And that usage has become generally accepted.
But then Russian lost its dual number. However, the nominative dual form just occasionally was very similar to the genitive singular. People continued saying "два года, три года, четыре года", but this form was re-interpreted as the genitive singular. Because people forgot it was dual.
And what's with 5, 6 and greater? Those words (пять, шесть, ...) were originally nouns, not numerals. Therefeore, they required Plural Genitive (the same way as you say "a lot OF cars", "hundreds OF cars"). So, we say "пять городов, пять мостов, шесть городов, шесть мостов".
As to "год", I think someone else can explain why "годов" was replaced by "лет". I do not know an explanation for this word.
Due to some reason, people started counting "summers" instead of "years". By its origin, "лет" is genitive plural of "лето" (summer).