Почему бы не создать пакет для работы с файлами, как они на диск отображаются? Блоками!))
А блоки связывать в один список. Разумно было бы размер блока сделать в несколько килобайт, чтобы снизить накладные расходы.
Получится "квази-динамический массив" пригодный для практического применения)))