Для передачи данных нужны контейнеры, сейчас среди них оптимален XML. И контейнер обязательно должен быть файлом (одномерным потоком байт).
А насчёт хранения на локальном компьютере — вспомни наш диалог об Idea Procession — всяко лучше хранить отдельно материал, отдельно дерево связывающее этот материал.
Кстати для Postgre SQL?+патч для иерархических запросов на Tcl / Tk? такое должно писаться не слишком сложно. Вот надоесть мне париться — так и сделаю :)