well, all of the adults will say to fix the nut behind the wheel first. I tend to agree. If you know your car backwards and forwards... then sure, get some. Go to a driving school, autocross, whatever. Get all the skills behind the wheel that you can. But know that 2 years experience + high performance bmw = expensive repair bills/tickets.
as far as M50 vs S50. I don't think there's really a comparison. Let me put it to you this way. the M50 gets about 190ish horsepower, which is only 20ish more than an M20 "is" engine. Not really going to feel too much there. However, the S50B30 (1995 M3), starts at 240 hp.... and OBD I is your friend, they are much easier to mod. Of course, you get what you pay for. Getting an M50 is going to be a lot cheaper and easier. You can always go Forced Induction from there.
Personally, I'm hoping for a weight to hp ratio of 10:1 at the wheels. (at least for a couple years) Should be pretty challenging. I'm going with the S50 because I now have the M20B27 eta.... 121 hp (woot!!) and think the kick in the pants I would receive from the M3 engine will be a good step up.
As far as where to get one, salvage yards, BMW shops, Ebay, friends, etc.
Just remember that just getting the Engine is the first part, there are a bunch of parts to the swap, then some pretty in depth installation stuff.
'86 325es (TURTL3): PJ peetsa hawler
'87 535is (BADWATER): almost done... really.
'86 325e (GRN HLL): DD/show/rocket
'04 x3 3.0i: Wife's Bimmer (manual, woot!) My BMW Blog