А зачем все усложнять? Ведь проблема в длительном формировании превьюшек. Можно просто переконвертировать здоровые файлы в миниатюры приемлемого размера (чтобы можно было понять, что на них) и сохранить в папку "Миниатюры". И работать с этой папкой. Загружаться будет за секунду. Найдя среди миниатюр нужный файл, с таким же названием искать оригинал среди больших. Простой поиск в Проводнике выдаст его, практически, сразу. Если база больших файлов регулярно обновляется, то можно хоть скрипт написать, который будет создавать недостающие миниатюры по расписанию. Или регулярно вручную делать тем же FastStone с пропуском существующих.