So that's my point, I just setup a product that referenced a file that does not currently exist (similar situation as a pre-order), I was able to purchase the item, and in the checkout success page it recognized the filename I entered (0 bytes) and did not provide a download button (presence of such would allow clicking and therefore decrement the remaining available downloads). No problem.
But then I went back to the attributes controller option for the product and changed the filename to "the downloadable" product, when I as the customer went to look at my order, well the file to be pulled remained the same (information is pulled from the order history not from the current designation for the product. This is intentional.)
So the nswer to your question, can it be done, yes as said before (with a perhaps a minor modification) the filename of your pre-order download file needs to be the same as the filename that will be used for your actual product or need to store two copies on your server, or need to manually edit the database information for all pre-orders upon the date/time the actual file is available.
Number of ways to address all this, some of which f this is going to be a "routine" thing I would suggest identifying a way to accomplish the task with minimal effort/action. There are other things to consider as well in regards to keeping those purchasers notified/informed.