Have a search across all the BMW forums for double DIN installs - there's many threads about it. If you purchase a premium brand unit from the likes of Pioneer, Sony, Kenwood, Alpine etc, then you'll know you have a quality unit and the proper physical dimensions. You'll also need a fascia fitting kit. If you want the unit to sit 'flush' to the dashboard contours, then you'll need to modify the cabin airbox and purchase the Janus Design fitting kit and fascia/bezel. If you don't mind the unit sticking out by perhaps an inch or so, then you can get one of the fitting kits which 'tilt' the head unit up a little so the lower rear edge clears the airbox - thus no modifying of the airbox is needed.
Pretty much every double DIN premium brand unit has the functions and features you mention.
Joelgk - I think you've mentioned before you want to upgrade your setup. What is it you wish to achieve exactly? are you looking to keep the oem head unit in the dash? if so, then you won't need to follow this thread and instead work out which add on aftermarket products you need to purchase and install with the OEM setup. If you don't mind not having oem looks in the dash, then you can remove everything oem, and install aftermarket head unit, amplifiers and speakers.