Eu tive esse problema hoje e encontrei uma solução conveniente, pelo menos em uma situação ad-hoc.
As tabelas temporárias podem ser criadas por qualquer usuário com permissões de conexão. Isso significa que você também pode criar tabelas temporárias GLOBAIS.
Basta executar sua consulta no gerenciador corporativo (ou sql cmd ou qualquer outro) usando SELECT ...INTO com uma tabela temporária global, por exemplo
SELECT *
INTO ##mytemptable
FROM SomeTable
WHERE [massive where clause, for example]
Você pode então usar a tabela temporária na consulta BCP com um simples
SELECT * FROM ##mytemptable
Em seguida, solte a tabela temporária por meio do gerenciador corporativo
DROP TABLE ##mytemptable