Just to throw something else in the mix.
I have a site, [These are not the keywords, but are something related] which I am optimising for "accommodation birmingham". It is hosted in the USA, but I am getting UK traffic.
In this case, I think that because the search term itself it localised, and the content in the site is localised, this works.
In general, I would recommend hosting the site in the country where you want to do business.
I personally use webhosting.uk.com:
Affiliate link version
Webhosting.uk.comNot affiliate link version: Webhosting.uk.com
(We are all Internet marketers here, so I put the affiliate link up, but also the not-affiliate link as well so that you don't think that I am only doing it as an affiliate).
Their servers are located in Exeter in Devon, which is very local to me personally.
Of course, you could look around for another UK based hosting company, there are a few around. I hear Google is useful for that kind of thing...

In other things, there is evidence to suggest that Google shows different results based on the location that you are in, particularly for localised searches. A lot of it depends what the keyword is.
Hope that helps.