Is there a way to temporarily elevate permissions for the person running the workflow?
There is a 'Set Permissions' action you can use during your workflow. When you want to change the permissions on the user, put them back the way they were using the same action.
see nice write up from Cassy Freeman here Handling Permissions in Workflows
Retrieving data ...