Nej. Du kan inte använda bindningsvariabler för tabell- eller kolumnnamn.
Denna information behövs för att skapa genomförandeplanen. Utan att veta vad du vill beställa efter skulle det till exempel vara omöjligt att komma på vilket index du ska använda.
Istället för bindningsvariabler måste du direkt interpolera kolumnnamnet i SQL-satsen när ditt program skapar den. Förutsatt att du vidtar försiktighetsåtgärder mot SQL-injektion finns det ingen nackdel med det.
Uppdatering: Om du verkligen ville hoppa genom bågar skulle du förmodligen kunna göra något liknande
order by decode(?, 'colA', colA, 'colB', colB)
men det är bara dumt. Och långsamt. Gör inte det.