How can I tactfully ask a professor to bring requests to me earlier?
Channeling JeffE, just ask him directly, as if he were human.
I was glad to be able to help with the grant proposal. But if something like this comes up again in the future, would it be possible for you to give me a few weeks of advance notice? That will help me arrange my schedule to make space for the work and avoid conflicts with my own teaching / research / dissertation / etc.
However, my guess is that prior to asking you, he thought that he could handle it all by himself and wouldn't need any help from you. He probably found at the last minute that he couldn't, and had to scramble to look for help from anyone who could give it. So if this is how he tends to operate, such a request may not help too much. But at least it will be a nudge in the right direction.
"I like helping you, but I've got a very busy schedule. It is hard for me to meet the time demands of a grant proposal on such short notice. If I get these last minute requests, I might not be able to make time to help you in the future. If you give me more warning, say a month or so, scheduling shouldn't be an issue."
1) Doesn't blame the professor
2) Makes it clear that only the timing is an issue
3) Puts the problem on you so it doesn't seem like you're blaming him