I.E. If you are bidding on "Chicago Blue Widget" (which is never searched), and your competition is bidding on "Blue Widget" (which is searched), when you do your test searches for Chicago Blue Widget, they are coming up because they're mating to all 'blue widget' searches no matter what the geo qualifier is.
[adwords.google.com...]
2. Use the 'widget' phrase match instead of 'city widget' and get the word to work so you show up for all the city permutations of your word.
3. Create a lot of geo-targeted campaigns and get the 'widget' keyword to work in just those areas. A note of caution on this one - if the keyword is disabled in any single one of those geo areas, it can effect the other places that keyword appears in your account.
There is no easy answer for your question. Matching a keyword with a lot of cities can be done, and done very well and effectively - however, it is work to set up properly - and just as much work to keep them all going.