IMO the 5 is just to dull. I love them, I really do, but the 3 series especially in coupe is just a bit more interesting to me. Unless you really want a cruiser, which is what the 5 is, I have had more fun driving large engine 3's.
The mondeo is nice, but its just a mondeo. I see 5,000 just on my way to work, and its only round the corner. The ST220 is nicer, the new shape looks good.
The Impreza is great, recently to do with my Job I have had the oopurtunity to go out in all manner of Scoobies, and they are fantastic. BUT, you have to ask could you live with one everyday? Im not sure I could now, they are just a bit to basic inside, and a bit to harsh sometimes. Saying that though, you could buy an awesome Impreza for about 8,000.
I think I would still sway towards the BMW though, although I dont see the logic behind buying the 5 over a similar engined 3.