Se me ocurren dos soluciones:
1. Agregar explicitamente las unidades que se deben importar al proyecto, esto es, no usar el
library path. Puede resultar engorroso, pero tiene la enorme ventaja de que los tiempos de compilacion disminuyen enormemente. Un library path cargado siempre es mas lento de procesar. Y si el proyecto es grande + el library path esta cargado, parece que estamos trabajando en C++ (no se lo tomen a mal los adeptos por favor
).
Podrias dejar un proyecto "esqueleto" o "template" con todas las unidades, mantenerlo con control de versiones y siempre actualizarlo cuando se agregan nuevas unidades
2. Este metodo nunca lo probe. Seria no utilizar los .pas directamente, sino usar los .dcu. Te creas un paquete con tu framework, y lo compilas. Pones que el output folder sea por ejemplo "C:\framework\{$PLATFORM}\{$CONFIG}
No me acuerdo exactamente los nombres de las pseudo variables, pero la idea es que te queden
"C:\framework\Win32\Release\"
"C:\framework\Win32\Debug\"
"C:\framework\Win64\" ...
Dentro de cada una de esas carpetas, estan los .dcu correspodientes. No los organices en carpetas como el codigo fuente de tu framework; dejalos todos en la raiz.
Ahora agregas estas carpetas a tu library path y listo, en un solo directorio tenes el codigo ya compilado y listo para usar