Parece que isso é especificamente sobre definir uma grande consulta dentro de uma espécie de linguagem de programação, vendo você colocar a consulta dentro de uma string literal e concatená-la.
Se é uma linguagem compilada, não deve fazer diferença alguma - uma das primeiras otimizações que o compilador faria é concatenar automaticamente os literais das strings, para que você acabe com uma string grande de qualquer maneira.
Quanto à sintaxe, você deve considerar mover a consulta para fora do seu código - armazene-a em um arquivo de recurso .sql separado e faça com que seu software leia esse arquivo. Use instruções preparadas para as variáveis, se não for uma consulta criada dinamicamente (por exemplo, cláusulas where etc. adicionadas dependendo de determinados parâmetros). Se ele for construído dinamicamente, você poderá adicionar suas próprias variáveis de substituição, inserindo parâmetros extras onde e quando necessário.
Quanto às 1600 colunas, recomendo seriamente criar uma exibição para isso, então, em vez de
SELECT column1, column2, .... column1600 from X where Y
você conseguiria
SELECIONE * DO viewX ONDE y
Muito mais conciso em seu próprio código.
.
), que eu já vi alguns programadores culparem pelos custos de desempenho.