Mike,
You can refresh the access tokens anytime you want, but they are always only an hour long.
Batch will update the account transactions on a nightly basis and will generate a file that you can consume to capture transactions. To download those files you will make use of the Batch API calls which also utilize the user token. You can at anytime perform a real-time refresh on an account to capture up-to-date transaction information. If you wish to have categorization that information will be available in both the batch file as well as the getTransactions API call.
regards,
Ben