Con simple XML no se como se haría pero para ficheros grandes se suele hacer algo así como coger de la línea 0 a la 1000, de la 1001 a la 2000 y así por ejemplo.
Pero claro, en un XML no puedes cortar en cualquier sitio, lo suyo sería leer X pedidos, noticias o lo que sean que vayan etiquetados, y cada X dejar de leer procesar y volver a coger datos. Con un txt es fácil con un XML ni idea. No se si se podría hacer así.
Aún así sea como sea el proceso va a ser lento SI O SI. Seguiré el hilo de cerca para saber como lo solucionaste porque me interesa bastante.
También no se si esto te servirá de ayuda, échale un vistazo.
http://www.xml.com/pub/a/2003/10/22/embed.html
Consiste en meter el XML en una "base de datos xml"