If you want to keep 17" wheels, 225/45 17 are probably the way to go. That is the stock size on 128i rear wheels with sport package. You can typically run 225/45 17s on anywhere between 7-8" width wheels, though 7.5-8" width is probably best.
I ran 225/45 17 on my stock sport package wheels (7" up front and 7.5" in the rear) and I though it looked good, thought not as aggressive as some may prefer.
I also ran 225/45 17 winter tires on both 17x8" rims and 17x7.5" rims (both with 40mm offset) and both worked and looked fine.
If you search some of my threads in the wheels section, you can find pictures of the various setups. See this thread for example:
http://www.1addicts.com/forums/showthread.php?t=267999
I also had a set of autocross wheels/tires which were 235/40 17s all around on 17x8 et40 wheels. These were slightly smaller diameter and did not look quite as good. They also could rub very slightly up front when going over a large bump, but not during normal driving.
Hope this helps. I am sure the 135i guys can give you lots of advice for an 18" setup.