Wie wäre es mit 'ner Memorytable? Da kann man nachträglich die Größe von Stringfeldern problemlos nach oben (ohne Datenverlust) verändern. Man kann sie als Datei speichern und natürlich auch wieder einlesen und als "Schmakerl" obendrein wie 'ne Datenbanktabelle ansprechen.
Ich bin mir auch nicht sicher ob human readable überhaupt wünschenswert oder gar notwendig ist. Das bedeutet nämlich immer auch human writable und erschwert die Plausibilitätskontrolle beim Einlesen beträchtlich.
Da kann man ja dann 'ne verschlüsselte Datenbank nehmen. Oder die
XML, JSon, ... in 'ner verschlüsselten ZIP speichern, ...
Und wenn bisher ein Record gespeichert wurde, ist das sicherlich
human readable, man muss ggfls. nur einmal die einzelnen Werte im Record analysieren. Damit kann man dann auch recht problemlos DBase-Dateien (o. ä.) lesen. Header + feste Satzlänge. Bei Records halt "nur" feste Satzlänge.