Hi Madhavisri,
According to my experience (considering tests development), TestComplete can be used only from the local machine or over the fast local network (for moderately-sized projects). Network delays over not fast networks (and VPN is one of them) makes test development near to impossible.
Considering the above, the reasonable option seems to be either your second one or to setup test environment on one side (e.g. in UK) and use it remotely via Remote Desktops.
As for the licenses, consider that:
a) TestExecute supports only Floating User Licensing scheme;
b) Named License of TestComplete cannot be installed on the virtual machine (in case you are going to use them);
c) TestExecute has no GUI means to either adjust test project for the given environment (set project variables, enable/disable test items, set path for the tested applications, etc.) or to debug it. Thus, it seems to be not a bad idea to consider whether it is better for you to spend more efforts on tests development and make it possible for your tests to be adjusted without GUI (command line, configuration files, etc.), or make test code less complex but instead invest in Floating License to be able to start TestComplete on whatever machine you need and setup/debug the test when needed.