Não. Você não pode usar variáveis de ligação para nomes de tabelas ou colunas.
Essas informações são necessárias para criar o plano de execução. Sem saber o que você deseja ordenar, seria impossível descobrir qual índice usar, por exemplo.
Em vez de variáveis de ligação, você precisa interpolar diretamente o nome da coluna na instrução SQL quando seu programa a cria. Supondo que você tome precauções contra injeção de SQL, não há desvantagem nisso.
Atualização: Se você realmente quisesse pular obstáculos, provavelmente poderia fazer algo como
order by decode(?, 'colA', colA, 'colB', colB)
mas isso é simplesmente bobo. E lento. Não.