ну, тогда сделай то же самое, с индексом, только вместо больших файлов, состоящих из кучи картинок, создай подкаталоги.
тогда в индексном файле будет храниться соответствие имени файла тому каталогу, в котором этот файл физически находится.
если картинки к тебе аплоадят, то создай один временный каталог, и, если путь к картинке не найден в индексном файле, то бери ее из этого каталога.
а в кроне по ночам переноси файлы из этого временного каталога в свое дерево каталогов, и перестраивай индексы.
сколько файлов можно максимально хранить в подкаталоге без тормозов, установи опытным путем.
скажем, сделай в каталоге 1000 файлов, с именами от "1" до "1000", потом создай в скрипте десять случайных имен файлов и попробуй сделать на каждом fopen. запиши на бумажке время открытия одного файла. потом увеличь количество файлов, и т.д.
в каком-то месте наступит предел файловой системы, ты это заметишь по резкому увеличению времени открытия файла.
в конце концов, построй графики в Excel, и посмотри наглядно.