Acho que o estais tentando fazer não funciona. Olha o que está na API da Sun:
Ou seja, só para a entrada de parâmetros. Acho que no teu caso tu não vai poder fugir da concatenação. Só tem de tomar cuidado de onde tu pega os campos pra evitar SQL injection.
Um PreparedStatement só serve para injetar os valores em uma instrução SQL, e não os nomes dos campos ou tabelas. Nesse caso você vai ter que concatenar mesmo.