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