Why are blocks and reverse patches not stored in individual files?
No file systems handle large numbers of files well, putting 600,000+ files in a directory would cause absurd performance problems. Opening and closing that many files during sync would have a performance penalty, versus appending to an already open file and writing its position to an index. Even attempting to delete a folder that large would be a struggle.
A reason the block files are as small as they are is due to limitations in windows file systems that have restrictive legacy compatibility.