The reason that PAUSE does that is that many filesystems use some variation on scanning a linked list for the directory entries. Therefore you really want to avoid having a single directory with hundreds of thousands of files in it.
However you say you are on ext3. That filesystem uses an htree balanced tree for large directories, so it is internally already doing what you'd be trying to do.
That said, merlyn is right. There is a lot of hidden overhead to having a small file in the filesystem. If you just want to record the existence of a md5 hex sum digest, that is a perfect application for a database, BerkeleyDB, or DBM::Deep.