If this was up to me, I would most definitely go for the Z4 3.0i manual - rock solid cars and plenty of fun to drive!! Basically very similar to an E46 (same engine) so servicing and parts is not a problem. My father in law has an '03 Z4 3.0i SMG (I am personally not so keen on the SMG), but otherwise it is a fantastic car and pretty economical too!
The 350z I think is probably also a very nice car, but I think in terms of local support and parts pricing it may turn out to be a bit of a money pit, same goes for the S2000 I would think. Interesting Top Gear once did to a comparative test between these three cars - should be available on the tube...
Also both the 350z and the S2000 are locally "regarded" as quite premium and unique whereas the Z4 is a bit more popular and common place (not maybe the best word choice) - what I mean is, well established in the market.
S2000 indeed has a super engine for what it is, but for everyday use it's probably going to feel like a normal 2.0i unless you are making use of the 5000 - 8000 rpm power band!!!