Hi Roger
I don't think you should pay too much attention to optimising for plural versions of keywords or the sort of variations you list.
For localised SEO the number of pages targeted at a set of keywords will be smaller anyway, so search engines will have less to pick from, meaning that they will spread their net wider to provide a set of results that are relevant for the search entered.
Also, these days, search engines are sophisticated enough to understand the variations largely mean the same thing. The focus of Google when returning their search results is increasingly to understand the searcher's intent, i.e. what the person is looking for and answer their query accordingly.
Google also includes personalisation in its search results, so these days it's likely that someone typing "magician for parties" for example who lives in say, Southampton, will see a set of search results which will include magicians local to them in the Southampton area or nearby.
Google's personalisation of search results is defined through a range of criteria including the IP address of Internet connection where the search is entered, hence Google interprets that if you are searching "magician for parties" then it is your intent that you are looking for a magician who is local to you.
Personalisation may even work for the single word search "magician" but in that case the search results are likely to also contain results from pages from Wikipedia and the Magic Circle. I tried it for where I live in Bournemouth and I get exactly that type of mix of results.
I hope that helps,
Peter