Según entiendo, quieres combinar todos los conjuntos de datos juntos y obtener los percentiles de todo el conjunto de datos (¿una sola variable?), pero no cabe en la memoria.
No se me ocurre ninguna forma de "agregar" percentiles, así que lo enfocaría como un problema técnico.
Dependiendo de la tecnología / el software que utilices, ¿hay alguna herramienta para ordenar la variable in situ? ¿Es posible aumentar la memoria virtual?
Si no es así, puede que tengas que pensar en formas de hackear manualmente tus datos en lotes y preprocesarlos paso a paso, sin cargar todo en la memoria (yo solía hacer esto mucho para experimentos de física de partículas con conjuntos de datos increíblemente enormes).
Por ejemplo, ¿tiene muchos valores repetidos? Entonces podría pensar en una especie de compresión: escanear los conjuntos de datos uno por uno y almacenar los recuentos de cada valor que encuentre (en lugar de los valores en sí).
Si no es el caso, podrías estimar algunos "puntos de ruptura" en tus datos, y empezar a escanear los conjuntos de datos y dividirlos y escribirlos en conjuntos de datos aproximadamente "ordenados". Una vez que tengas los conjuntos de datos aproximados, puedes hacer algo más de clasificación y refinamiento en ellos hasta que consigas algo que esté ordenado y que encaje bien en la memoria, de modo que puedas obtener de P1 a P5... y luego pasar a la siguiente parte de los datos, y así sucesivamente.
O, dependiendo de lo precisos que deban ser sus resultados, puede hacer que los datos sean más gruesos reduciendo, por ejemplo, la precisión de los decimales (lo que facilita el recuento de valores similares), o algún otro tipo de "binning" (como un histograma, aunque sería un trabajo de ajuste fino elegir un binning de este tipo que pueda darle percentiles razonablemente precisos).
Es un poco vago, pero este tipo de cosas (esencialmente, pasos de preprocesamiento para reducir el volumen de datos conservando la información esencial) podría ayudar.