Hi 325,
Since your engine is M50, the ICV is under the intake manifold (black plastic thing that does from throttlebody to the cylinder head. It is covered by the first plastic BMW cover on the left side of the engine (if you were sitting in the car)..
Very difficult to reach. Get you Mech to take it out and its hoses, clean the whole thing with carb cleaner, then put it back. Actually, as some said, cleaning the MAF and intake elbow tube can help tremendously. At least you do not have to spend money replacing things if it is only dirt in these that causes the erratic idle.
*** Very important: As your Mech to RESET the computer AFTER the cleaning is done. Procedure: Remove the battery terminals (+ve first then -ve). Put key in ignition Position II, connect the + and -ve battery together for 10 mins. Off the ignition and remove the key. Put battery terminals back. You are done.
When you drive your car, it may feel either very Good or very Poor. Do not worry. After 2 hours of driving, the computer will "learn" the adaptive paramters and settle down to a good idle and cure your problems.