Doesn't make any difference wheather the process is multithreades or not unless you consider the overhead or the threading -whic would increase the total time.
Only rational time reduction here would involve multi PROCESSOR system, even there, the 'concurrency' would be subject to the time of the longest processing unit.
If the timing concurrency is critical to tet degree you indicate, a possible soloution might be found in the net-admin area. Typically, net-admin is responsible for routine backup of the network, and usually, this can be set to force users out of specifiv applications/files. If the situation is sufficiently critical, htey could be convinced by the "higher ups" to force the component files to be locked while the back up is in progress and create a copy of the specific files for your use the folowing period (day).
Another option might be to have the various data stores generate seperate copies of the info you are after after the close of business at each location, and either forward these to you or at least locate (save) them in a specific place on the network for you to retrieve.
In the general sense, database routines are not so active that the few minutes taken to grab the various recordsets is critical. This is particularly true of aggregations of date, which is what your system sounds like (from way far out here). Twenty seperate recordsets taking up top 2 minutes each to retrieve SOUNDS LIKE gathering the daily activity of the seperate branches of a larger entity (chain of stores?). The activity over a 1 hour span will not normally skew an aggregate report to provide any noteworthy distortion.
MichaelRed