Cita: Lo que no se es cómo hacer si el criterio por el que quiero ordenar no aparece en ninguna de las columnas de los selects de los union. Entonces no puedo poner "order by 1", o "order by alias_columna"... necesito una subconsulta sí o sí creo, pero cuando se usa union no se pueden poner subconsultas en el order by.
Primero, si el valor no existe en ninguna de las tablas ¿cómo pretendes ordenarlo por ellas? ¿Cómo se relacionaría ese valor con cada registro de las otras tablas?
Estás planteando algo sin sentido.
La respuesta es obvia: Si existe alguna relación entre esos valores y los registros buscados, entonces la tabla donde se obtiene ese valor debe integrar el FROM de cada select...
Caso contrario estás planteando un imposible: Relacionar una tabla con la nada.