BMWs are very DIY-frendly. Parts are very easy to obtain. There are many online retailers that have pretty much anything you could ever need for any BMW and offer great costumer service. Parts for BMWs are a little bit (not exorbitantly) more expensive than for non-premium cars.
I have maintained my car, strictly on a DIY basis (except for a couple of things for which I was too lazy) for over two years now. My car is a 1996 328i that now has 199,800 miles on the odometer, so that should give you an idea of how owning these cars goes.
There are a few things that only the dealer ca do, but they are usually software updates or resets/programmings that are seldom an issue.
Lurk around the forums to learn about any technical quirks with the E46 chassis (which is the one for the 3 series from 1999 - 2005).
If I am not mistaken, it is important to check that the tranny -- if you're getting an automatic -- has been flushed sometime after the 50/60k mile mark, but not much later than 90/100k. Other than that, these cars a really a joy to own and drive.
Welcome to werkz