You could do it like this...
- SQL query to get the data, via Desktop publish to Server
- use Server to refresh the extract on a schedule
- use the extract as the source data for your other workbooks
It's not strictly as you requested but I would suggest a more efficient way of doing it.
More about it here:
regarding Q2, there is some more about Server and extracts in the links below
Basically you should check the refresh schedules on Server... not in the C drive.