I was doing some location targeting for specific cities the other day and it dawned on me, just how far does a city targeting extend? What i mean by this is when you target a city in Google AdWords targeting it only highlights a small area around the CBD of a city. Is this representative of the exact area it is covering? or does the area extend further but just isn't represented on the map? because I want to target Brisbane (a large city in Australia) that extends over an area around 6,000 square kilometres and I get worried that when you target a city specifically it might only target the CBD area, is this the case? I know the alternative is to use a custom map area, but you are unable to use this custom map size when it comes to excluding areas so I'm hesitant to use it.
When you say 'CBD' I assume you mean the very centre of Brisbane, the main 'business district'. In normal circumstances you will find that the whole city will use a set of recognisable I.P ranges, they are not restricted to just the centre. So theoretically Google will show your advert to the entire of Brisbane. If the map shows a large proportion of Brisbane not being covered I would be concerned and use customised targeting instead.
Zip code would be the best idea to geotargeting. If you are targeting the on the basis of city, it would be shown on the whole city (CBD Area). You would not have control on the specific area in this situation and zip code would help you here.