Usar una expresión CASE para ordenar resultados
No creo que sea posible pasar una palabra clave como parámetro, pero un parámetro booleano :desc podría usarse en una expresión CASE.
--[params]
-- boolean :desc = false
SELECT
*
FROM generate_series(1, 10) AS num
ORDER BY
CASE WHEN :desc THEN num END DESC,
CASE WHEN NOT :desc THEN num END ASC