Get yourself on a repserver course.
The way that replication works, is that the rep server takes the before
and/or the after image from the transaction log, then works out what
transaction it needs to make the change, according to the subscription.
When using n-way replication, you have to remember that the selection field
(ie. office_id) needs to be in each table to be replicated.
The repserver couse covers these ideas, and I remember discussing a similar
setup to the one you are contemplating.
You can't use identity, as it is unique per table/db/server, and will come
out different at the other end. (similar problem with timestamp).
One golden rule of replication, especially when you get to the complicated
stuff. You have to design your system to work with replication (including
the database schemas). You can not apply replication easily to an existing
schema, and expect to have great success.