Вам необходимо переосмыслить заказ на несколько «столбцов».
ORDER BY
CASE WHEN v_sort_type = 'ASC' AND v_sort_order = 'lname' THEN lname END ASC,
CASE WHEN v_sort_type = 'DESC' AND v_sort_order = 'lname' THEN lname END DESC,
CASE WHEN v_sort_type = 'ASC' AND v_sort_order = 'code' THEN cname END ASC,
CASE WHEN v_sort_type = 'DESC' AND v_sort_order = 'code' THEN cname END DESC
В каждый момент времени будет действовать только один из них, поэтому вы получите (например)
ORDER BY null ASC,null DESC,code ASC, null DESC
или
ORDER BY null ASC,lname DESC,null ASC, null DESC