Areas Served vs. Magician + Location
I agree with the developer and definitely think you should move toward an areas served approach, either via the nav menu or working the areas into your home page content once (don't make it sitewide footer links that look spammy). With this approach, you're next task is to create custom local landing pages with content relative to those areas (photos, history, places you've performed, your favorite "magical" places within the towns, etc.)
I have seen some local landing pages with exact match in the Nav menu. Personally, as a web user, I'd much rather click on a town name than see a dropdown list filled with "Magician Surrey" "Magician Hampshire" that looks exactly the same, save for the location.
There are quite a few experts in this area:
Mike Ramsey: http://niftymarketing.com/optimal-local-landing-page-infographic/ Linda Buquet: http://marketing-blog.catalystemarketing.com/ and the forum here: http://localsearchforum.catalystemarketing.com/ Mike Blumenthal: http://blumenthals.com/blog/
The important thing to remember is take the time and effort to make these custom local landing pages UNIQUE and something a web visitor would get value from.
Exact Anchor Text in Nav Menu
Don't overdo it. Make your navigation menu links be something that your web visitor will understand without question. There may be certain times when it's okay to use exact match anchor text but do so SPARINGLY and don't sacrifice your web visitors for the sake of exact match anchor text. Adding keywords in your anchor text should make sense to your visitors.
Here's Matt Cutts answer about exact anchor text and not overdoing it: https://www.youtube.com/watch?v=6ybpXU0ckKQ
I also use the technique of doing site:rogerlapin.co.uk magician hampshire and then seeing the top 10 pages google has for me and placing a text link from each of these pages in the body text.
A better technique would be paying attention to your content on your website and linking internally where it makes sense. Be careful with overloading your pages with links as well. The way I like to think of internal linking is much like you would see a newspaper or informational site providing links to give you more context about what you are reading.
Does Google only take into account the first link to a page i****t discovers? AND When doing link analysis I now see I have two links to each page but understand that google will only account for the first one (from the menu)
No. Google will crawl all internal links on a page up to a certain extent. If you have hundreds of links on a page, the crawler may abandon ship eventually and not crawl all of those links, which is why Moz and others have recommendations about the number of links on a page. https://support.google.com/webmasters/answer/35769?hl=en (Keep the number of links on your page to a reasonable number.)
Link Priority:
There's a 2010 article from Rand saying that links higher up on the page are given more weight, however, it's three years old and one of the comments on that article says Matt Cutts debunked that idea, though I can't find the video. It seems like there hasn't been much conversation on first link priority since 2012. Here's another article from 2012 about internal link placement on the page: http://searchenginewatch.com/article/2185977/Anatomy-of-an-Internal-Link
There's also a video from Matt Cutt's about the history of page rank and multiple instances of the same link on the same page: https://www.youtube.com/watch?v=yYWlEItizjI
I don't have a definitive answer here as far as link priority and order on the page. Maybe you can find more resources in the Q&A on that topic, such as this one: http://moz.com/community/q/duplicate-internal-links-on-page-any-benefit-to-nofollow
Hope all of this gives you some guidance and a lot of resources