Windows usually does not use free space behind a file to expand that file.
I think it is not completely true.
I have made an experiment. Created special disk layout which put one file called test.avi (20 megabytes long) approximately at 1/3 of the disk with big empty gaps before and after that file. Then I used a program (VirtualDub.exe) which I know that really takes already existing file, overwrites its contents and eventually extends it. With that I extended that file to 200 megabytes. The result was that the file was purely extended in place to the following gap, resulting in a non-fragmented file.
The problem with most document files is, though, that these files usually don't overwrite existing document files. The editor usually creates a new file and original file is renamed to backup or deleted, before or after the new file is created (depends on the editor).
Real database files are extended in extents which are usually tens of megabytes long. Taking into account high internal fragmentation of database files (which consist of mix of data and index pages), a little fragmentation on extent boundary does not matter too much, especially if they get eventually defragmented.
Another problem of the proposal is, that it would create a lot of small gaps on the disk which would very probably get filled by some large file during normal system usage and that would cause that file to become unnecessarily heavily fragmented.