How do I target country-level search results (e.g. google.co.uk) if I have a gTLD and my website's hosted in U.S? AFAIK, you only show if you have a ccTLD or if your website's hosted in that country (i.e. using the country's IP address). I already have top rankings for "<country> <product>" on google.com and now I want to go for "<product>" on google.co.<country>. If I had to move my website to a new server located in that country, will that affect my current rankings?
IMO it might help you to have better rankings if you will have a hosting in the same country as to your targeted country level results. you can also have an advantage if you will have links coming from website with domains like domain.com.<country>
Moving your site would work, but is a lot of hassle. You really should get links from websites specific to that country (preferably in your niche). That should do the trick nicely.
I've had a Dutch site hosted in the US on a .net URL (.nl is the Dutch extention) and I get very good rankings from the Netherlands (and Belgium too). So hosting in the wrong country and the wrong domain name can be compensated by getting links from the right places.
Now that you have moved the site, get links from UK to point to your site. I have lots of UK websites, send me a PM if you would like some links
For better UK prioritize results, I think your site should be hosted in UK, also you should try to get quality inbound link from other sites hosted in UK.