If the workflow doesn't involve needing immediate access to new and updated data, you could set up some sort of data mirroring so that the data is local to each site. That way, the data is only sent once, rather than every time a user looks at it. You will have periods of disjoint data, though.

You might also be able to set up some sort of caching proxy, so its slow for the first person who views the data, but then local speeds from then on.
_________________________
Bitt Faulk