Issue #1
I'm not sure how else we would use them. The example given above (Gosford, NSW) is about 40KM (or around 20miles) from the page that is ranking (Wyong, NSW). In our business model, these are 2 separate markets. We wouldn't be able to canonical 1 to the other as they are completely separate.
Issue #2
I believe the issue could be because we're displaying "search results" as static pages - this is something that I have my team working towards fixing by having "static" proximity based business listing pages (such as root.com/find/plumbers/state/city/suburb/) and having no-indexed search result pages (such as root.com/search?what=plumbers&where=suburb,state).
The above may even fix issue #1, but I wanted to get some more information from a community as 2 minds are better than 1..