snychronize multiple databases using database replication
The best match for occasionally disconnected clients and bidirectional replication is merge replication.

Other flavours of replication support bidirectional replication, but transactional replication with updateable subscriptions is deprecated and peer-to-peer transactional replication is more suitable for high-speed low-latency links rather than remote sites.

Merge replication also offers the ability to synchronize over an HTTP connection, using an IIS ISAPI filter. 

Merge replication allows you to define partitions of data and let each subscriber access a subset of the data. You could have a central database containing all the data and each subsidiary containing only the data that pertains to that subsidiary. This is accomplished by using join filers and/or static filters.

The only downside to merge replication is its performance toll: each table that you decide to publish has to be monitored for changes by a system-generated trigger and every published table (article) needs to contain a uniqueidentifier column (it gets added automatically in case it's missing).