The modern word for forty is actually an ancient quantity word that displaced what would be the intuitive четыредцать or четыредесят. In English this would be similar to the word "dozen" replacing "twelve" in all usages. "nine, ten, eleven, dozen, thirteen, etc.." As far as I know, scholarship isn't quite so clear on the origin of девяносто except that is has something to do with the words for nine and one-hundred.
I've learnt it differently, though. That год is "year" and the plural is годы. Whereas лет is the plural gentive of лето ("summer"). So it is not a matter of a noun with an irregular plural form, but a matter of expression so that when we speak of one year or a few years (up to four) we speak of year(s), but when we reach the "many years" stage (five or more years) we, for whatever reason, stop speaking of years, but instead speak of a number of summers. "He is seven summers old". If I understood and remember correctly, that is.