(Secure and reliable) I recommend yo to keep local PBX in the each office. As I understand, you need to have 2 PBXes - in the "our building here" and in the "USA office". And, write rules for route calls between PBXes, and if needed - route calls to landlines through SIP-provider. with this way, each phone system will work independently, and continue work local, even internet connection broken.
(Cheap) Another solution -- do not have PBX, and use accounts in the SIP-provider. Many SIP-providers allows free calls inside network, and you will call free by that network. Disadvantage of this solution -- your traffic goes over the world, and this is unsecure. Also, if provider's site out of service, or lost internet connection -- your system stop work.
Of course, you can use some combination of [1,2] - for example, keep PBX in your local office, and in US office use phone numbers from provider.
I can help you to install/setup FreeSWITCH PBXes, if needed, and connect to SIP-providers (not for free). If you interesting, drop e-mail in comments.