We have a .co.uk and .com domains for our company. They are effectively the same site with the .co.uk being localised for the UK and .com being localised for the USA. There are some other differences too like product ranges not all being exact and blogs are mostly different too.
The sites are both setup in webmaster tools with the relevant regions confirmed. My issue is that the .co.uk (with higher page rank) still shows up over the .com when you search for our company name in the USA.
On Adwords we can set regions and they are honoured immediately, but it seems not the case with Google searches.
hreflang
markup already? How are you searching "in the USA"? Do you literally have someone sat at a desk in the US?