Para no cambiar mucho la estructura que ya tenes definida, podes valerte de tun TClientDataset o un TrxMemoryData, definir su estructura en tiempo de diseño y luego valerte de los métodos Insert/Post para rellenarlo. Esto no debiera añadir mas que algunos milisegundos a la operación de tu programa, pues todo se hará en memoria.
hasta luego.