I would say stock with a BMW original expansion tank. I've heard bad things about aftermarket expansion tanks such as URO and Meyle.
Do you need a new engine block crush washer? If you're also doing a coolant flush at this time its best to drain the engine block.
Need distilled water. A few gallons.
Might want to change your belts and check tensioners and pullys while the water pump is out. Definitely change the serpantine belt if you haven't already. Looks like a good list!