What are the rules for pronunciation of years in English?
For one thing, "two thousand" is shorter to say than "twenty hundred".
- 600: six hundred
- 601: six oh one (shorter than six hundred one)
- 1899: eighteen ninety-nine (shorter than one thousand eight hundred ninety-nine)
- 1900: nineteen hundred (shorter than one thousand nine hundred)
- 1901: nineteen oh one (shorter than nineteen hundred one, shorter than one thousand nine hundred one)
- 1999: nineteen ninety nine (shorter than one thousand nine hundred ninety-nine)
- 2000: two thousand (or 2 "K"?) (shorter than twenty hundred)
- 2009: two thousand nine (shorter than twenty hundred nine)
- 2010: twenty ten (shorter than two thousand ten)
Basically when the number has three zeros it is shorter to say "thousand" than "hundred". Once there are fewer than three zeros it is shorter to say "Y thousand X" for Y00X and "Y hundred X" for YYXX.
This usage isn't limited to years either. Any numbers in the same range will have the same kinds of contractions. There is a Simpsons episode where this is played for laughs, when they need eighty-five-hundred dollars to fix their roof, and they only have $500, and Homer whines that they still need eighty-hundred.
There are no rules, only loose conventions, formed for brevity, convenience and ease of mental parsing.
The convention has been modified for the years 2000-2009 (two thousand and nine), just as it has for 1000-1009, probably for the reason Nav mentions - it just parses nicely that way to an English speaker. You can expect every year from 2010 (twenty-ten) onwards to soon revert to the conventional form in common parlance, which has the advantage of being shorter and distinguishes centuries from one another very clearly.
Worth noting is the fact that the years 1-999 are usually suffixed with "AD" to make it clear that we are talking about a year rather than an arbitrary figure. Post-1000 years do not require this verbal signposting as the use of this unusual convention makes it clear that these are years.