Каков наилучший способ динамического задания имени столбца 'order by' и направления от параметров, передаваемых в процедуру plsql?
Вы можете использовать переменные, если вы заказываете с использованием регистра:
select * from YourTable order by case when par_name = '1' then col1 when par_name = '2' then col2 end , case when par_name = '3' then col3 end desc
использовать динамический sql
http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96590/adg09dyn.htm