$150 is a good base to start for the deck, when it comes down to it just pick a trustworthy brand (Kicker, Alpine, Pioneer, Kenwood are good places to start) and check out what they've got in your price range, do some research and find some reviews to make sure it's a good deck and has the features you're looking for. You'll also need the wiring harness adapter to go from the bmw's stock wiring into the new wiring from the new deck. You're gonna need a mounting kit too in order to mount it into the car where the stock deck was, any car audio shop can help with that just give them the year and model of your car and the model of your deck for the harness and mounting kit.
As far as the subs though don't do what that guy a few posts above me said and get a mono amp. The way mono amps work is you're essentially taking one channel of power, and splitting it right and left between the 2 subs which is something you want to avoid. Check the power rating of the subs (watts RMS) and find a 2-channel amp that doesn't exceed the power of your two subs combined (ex. 2x300w RMS subwoofers= 2channel 600w RMS amp or bigger). Be wary not to over power your subwoofers from the amp or underpower the subs. Keep in mind what ohm's the amp can load out when purchasing and how much power the subs are rated for depending how you wire them, there's a lot to explain when it comes to ohm's and a sub's impedance but you can read up about it here if you plan to install yourself
http://www.crutchfield.com/S-g61kjraEz12/learn/wiring-subwoofers-ohms.html
Hope this helps and feel free to pm me if you have anymore questions, I've done a ton of car audio installs and have worked with home theater and arena sound systems for a couple years so i'm sure I could give some help