Hola. No veo por donde almacenar el resultado del query pueda ayudar a agilizar el proceso, pues el query tardará lo que deba tardar...
De cualquier manera, si existe la posibilidad, trabajando con ClientDataSets, de guardar el resultado en un archivo, con el método SaveToFile. Desconozco si puede guardarse en un stream cualquiera.
Hasta luego.
