二十歳 is a (to me) bizarre exception to the usual number+さい rule for discussing age. Is this rooted in 20 being the Japanese age of majority?
Added: To be more specific: why isn't it pronounced にじゅうさい like the rest of the さい words for age?
The はた there is part of the same series of Japanese readings for numbers as ひとつ、ふたつ、みっつ and so on. Where the ち comes from - that I do not know. It also makes an appearance in some other common words, such as 二十日（はつか）, although in a slightly mangled form.
There are readings for the tens after that as well - for instance 三十（みそ） makes an appearance in words such as 三十日（みそか） and 三十路（みそじ）. The rest of the tens are formed by adding そ to the corresponding "ones" stem: よそ いそ むそ ななそ やそ ここのそ.
Although rarely used these days, the old way of counting was quite flexible. Here's a Chiebukuro question that explains the old way pretty nicely - including how to count hundreds, thousands and tens of thousands!
Some theories from http://gogen-allguide.com/ha/hatachi.html
Please forgive and correct any mistakes I made.
Theory: はた means 20. For example: 二十歳 はたち、二十人 はたとり、二十年 はたとせ。 ち (個)is a counter for the ひと、ふた、み counting system.
Theory (folklore): The 旗乳 (はたち)folktale. During the Warring States period, a young soldier who turned 20 years old wore a banner (旗 はた）of his lords family crest on his back into battle. On that banner he put 20 decorative things (乳 - ち) to match his age. So the theory associates the age of 20 with being old enough to risk your life at war, an adult.
Theory (folklore): If you count your fingers and toes you end up with 20. Deriving from 果て （はて）, you reach the end (はて) at 20.
There are more on that site.