En cuanto a la sustitución de 8796093055031, puede usar la primera declaración como una subconsulta en la segunda declaración:
SELECT DISTINCT m.TYPEPKSTRING
FROM METAINFORMATIONS m
LEFT OUTER JOIN CAT2CATREL d
ON m.TYPEPKSTRING = d.TYPEPKSTRING
WHERE d.sourcepk IS NULL AND
d.targetpk IS NULL AND
m.typepkstring IN (SELECT DISTINCT m2.TYPEPKSTRING
FROM METAINFORMATIONS m2
LEFT OUTER JOIN COMPOSEDTYPES c2
ON m2.TYPEPKSTRING = c2.PK
WHERE c2.PK IS NULL);
En cuanto al resto, si entiendo lo que está tratando de hacer, me parece que necesitará usar SQL dinámico como se muestra en la respuesta a su pregunta anterior.