Boa noite a todos.
Você deve atribuir uma aliás para a tabela também, senão como o SQL vai identificar qual campo pertence a quem.
SELECT COUNT(*) AS idCAD_PROTOCOLOS FROM cad_protocolos A, cad_pessoa B WHERE A.idCAD_PESSOA = B.idCAD_PESSOA and B.nome like '%%' or cpf like '%%'
Além disso, você quiser que a busca seja mais seletiva e confiável, faça a junção das tabelas utilizando um “INNER JOIN”, assim:
SELECT COUNT(*) AS idCAD_PROTOCOLOS FROM cad_protocolos A INNER JOIN cad_pessoa B ON A.idCAD_PESSOA = B.idCAD_PESSOA WHERE nome like '%%' or cpf like '%%'
Com o INNER JOIN, ele só contará os registros que tem relacionamento entre as duas tabelas, excluindo onde não há relação.
Eu não sei qual SGDB você usa, e por isso desconheço o dialeto SQL dele, contudo é sempre recomendar o dialeto padrão, que é de utilizar aliáses para as tabelas também.
Um abraço.