No SQL que você postou, você está contando quantas linhas por combinação de nome e telefone possuem idade com valor NOT NULL.
Dá para fazer Count() sem group by, mas você quer contar o que exatamente? Quantas nomes e telefones distintos existem, mas sem agrupar (vai repetir o valor do count() para quem pertencer ao grupo)?
Se for esse o caso resolva com funções de SQL analítico:
SELECT nome,telefone, COUNT(idade) over (partition by nome, telefone)
FROM pessoas
SQL analítico faz apenas um scan nos dados, tendo mais performance do que subquery, que precisa ler a mesma tabela mais de uma vez (+ de um FROM com a mesma tabela).