Вы должны указать свою проблему немного лучше. Я сделаю несколько предположений:
1) ваши данные статичны, и вы просто хотите найти их,
2) у вас достаточно памяти для ее хранения.
Если скорость запуска приложения не критична, формат данных зависит от вас, если вы можете поместить его в память Python. Используйте простые типы данных (DICT, списки, строки) для хранения данных, а не график XML, если вы хотите получить к ним быстрый доступ. Возможно, вы захотите написать собственный легкий класс для выражения узлов и сохранения ссылок на другие узлы в формате dict или array.
Если время запуска приложения имеет решающее значение, рассмотрите возможность загрузки данных в программу Python и извлечения их в файл; затем вы можете загрузить маринованную структуру данных (которая должна быть очень быстрой) в производственное приложение.
Если, с другой стороны, ваши данные слишком велики для размещения в памяти или вы хотите иметь возможность их постоянного изменения, вы можете использовать SQL для хранения (внешний сервер или базу данных SQLite) или ZODB ( объектная база данных Python).