Нет, этого сделать нельзя.
Для того, чтобы по-быстрому добавить в начало файла на системах типа FAT, надо перенести стартовый кластер в другое место (запись в таблицу размещения файлов и в ее копию) и заполнить этот стартовый кластер своей начальной строкой (вторая запись). Причем строка будет строго по размеру кластера (т.е. от 512 байт до 32Кб в зависимости от того, как отформатировано устройство).
На NTFS можно создавать NTFS Streams, но в данном случае они никак не помогут. На линуксовых ext2 и ext3 все в теории так же, как и для FAT, только ограничение явно в 512 байт. Так что может быть для тебя это будет и выход (будешь дополнять пробелами свою строку, например. Или дописывать в начало ее реальную длину а при считывании отсекать).
Ну и в любом случае, ты ошибся разделом. Подобные манипуляции требуют низкоуровневых обращений к диску и вообще, гемор еще тот.
Я бы пересмотрел саму схему хранения данных, например вместо одного файла завел бы два (индекс+данные) и реализовал бы процедуру экспорта из этих двух в один последовательный файл. Тогда у тебя и вставки будут происходить быстро - в начало, в конец, в любое место, и данные можно будет хранить большого объема, и связь с внешним миром не потеряется.