I think your best best to 'share' or provide access for each of the locations to read data from another is through a service exposed on the internet (not intranet), like a WCF service.
Your 1st thought might be, "Well I don't want this data exposed to the public...". That will not be a problem. The extremely robust security model of WCF will provide you with ample support to secure your service both in the message, transport layer, and user authentication / authorization.
I did see you mentioned 'no internet access' but is this a true wall, where the users can not get on the internet to even access Google, or was this just the initial thought of keeping data inside and secure? If you truely have no outside access and can not use a service like this, then you are going to have a sync problem to tackle and will want to use some of the suggestions presented previously. I would really push for these sites to be able to communicate though, as the sync process could turn out to be a nightmare.
If your individual site apps connect to the WCF service that sits in the middle, you could access the data securely from wherever and not have to worry about any data sync issues, etc.
With this solution you do not need to worry about computers being on the same network at all; it is not an issue. The only thing the computers will need is some kind of network access.
After all, your very scenario is what made so many headaches 10+ years ago, but more recently it has been easier to conquer the problem of connecting multiple individual networks via services like .asmx and WCF.