In the US, medical school is four years after one gets a bachelor’s degree, generally. (I’m not sure the degree itself is an actual requirement, but it might as well be.) It is true, though, that it doesn’t take as long to get an MD as it does to get a Ph.D., in general.
Just to expand on QtheM’s answer: after you graduate from med school, that’s when you can be called “Doctor”. (Not that med students aren’t routinely called “Doctor”, unofficially.) To get a license, you have to pass the United States Medical Licensing Exam, or USMLE, which is taken in three steps: Step I after your second year of med school, Step II during your fourth year, and Step III during your intern (PGY-1) year. (I take the Step II at the end of November.) Oddly enough, Step I is generally considered to be the toughest.
You also have to have a certain amount of post-med-school training, the amount of which varies widely by state. Some allow you to apply the day after med school graduation, while most require one year. Kentucky (my state) is considering requiring two years of post-grad work before granting a license, which I think is ridiculous.
IIRC, when you get a license from your state, you can get a DEA license.
As for your other questions: yes, any doctor can generally prescribe anything. Prozac is a good example; gynecologists prescribe a lot of it, because they’re the only doctors a lot of women see. Billing and hospital rules often limit who can do what, as does the fact that being out of one’s field is no defense against malpractice.
I’m not sure what is required to maintain a medical license; I’m sure it varies by state. To maintain board certification, one has to go through so many hours of continuing medical education every year.
Dr. J