It is THREE YEARS. See http://www.uscis.gov/portal/site/uscis/menuitem.5af9bb95919f35e66f614176543f6d1a/?vgnextoid=142696981298d010VgnVCM10000048f3d6a1RCRD&vgnextchannel=d6f4194d3e88d010VgnVCM10000048f3d6a1RCRD
They must have good moral character and be married for all THREE years.
No. The person has to have been married for at least three years and have been a legal permanent resident for at least three years before s/he can APPLY for citizenship. Whether or not the person was "legal" when s/he got married has NOTHING to do with it.
Answers to all of these questions, gauranteed to be accurate, are available at http://uscis.gov. I've seen many references to a '3-year' waiting period, and to the best of my knowledge (check uscis yourself) that period is actually TWO years
If you are enlisted in the military, it has been known to happen under certain circumstances.
The only way to speed it up is to have an act of Congress. This sometimes happens with athletes that want to compete in the Olympics for the US, but it is pretty rare.
Aggie80