I assume you mean that you are getting it for $20,000 or else none of your other questions matter.... *grin*
The general maintenance on it is going to be relatively spendy (compared to say a Honda Civic or something) but well worth every penny for the difference in the drive.
In order to cut some of the cost, find a local mechanic that specializes in BMW work (other than the dealer). You should have all your maintenance covered by the BMW dealership for the first 5 years or 50,000 miles, then go to the local mechanic. You can't really go wrong with 19,000 miles on a 4 year old car either. I bought a 3000 323i that had 55K on it and it's running great...
I can't tell you one thing about snow (I live in Hawaii), but we do get ALOT of rain. I had a 5-speed Civic that would slip on these roads every time they got wet because half the pavement is composed of seashells. Since I got the Bimmer I haven't accidentally broken loose or hydroplaned once. It should have Dynamic Stability Control (DSC) which helps considerably in keeping you firmly rooted to the ground in most conditions.
I hope, for your sake, you buy this car. I doubt you'll drive any other maker's car again, unless you're forced to do so,