Hmm, my suggestion would probably be send a cookie/session back with the erraneous form and give that user a unique "ID".
You could then (temporarily) store that file somewhere on your server in a temporary directory. When they submit the form, and it validates, your script pulls in the file from the temp directory, does what it needs to, and deletes the temp file. On the erraneous form, you could have text such as "file upload cached".
The only problems I forsee are:
If the user has cookies disabled/rejected
Scheduling a script/job to run every xx minutes to look for files that haven't been modified within the laxt xx minutes and delete them, so your/the server's hard drive isn't loaded with files that got dropped because the person simply closed the page, navigated away, etc.
Think about it, and let us know what you've decided.