Hi Shikhar,
It seems the data model somewhat does not go with this requirement.
If City is updated then it hardly makes sense to send Site data.
May be you should have something like a Tuple which has linked sites stored and then syndicate them on update.
Otherwise with the same design you can do workarounds like-
1.Updating Site table whenever City is updated leveraging Portal.Portal can use the linked Sites and update flag.An automatic port or Workflow can take care of syndication.
2.Doing an export from City table and import into Site table and then sydicating from Site table.This would require PI to pick the exported file from City table and putting it to inbound port for import into Site table.This can be a flag update and enable syndication.
Thanks,
Ravi