На каком языке писать демон для разбора XML?
Огромный XML на любом языке разбирают поточными парсерами, например SAX.
Демон - мне кажется слишком громко сказано. Демону надо ещё умудриться скормить большой файл. Да ещё и указать что с ним сделать. Вы наверное пользуетесь стандартной xml библиотекой и соответственно большой файл обваливает интерпретатор. 
Очень рекомендую покопать в сторону самодельного парсера. Как пример в PHP есть XML parser. При скромных потребностях на нем можно распарсить хоть 10Gb xml при потреблении памяти до 10mb. Главное чтобы по времени ограничений не было.
Пример реализации здесь.
Я себе что-то похожее собирал. Но не как полноценный парсер, а как утилиту первичного разбора xml для последующей обработки вне её и с поддержкой своего рода запросов (сделать что-то с элементами у которых определенный node-path). Разбирал максимум 100mb xml.