Você deve usar uma função em vez de um procedimento. Um procedimento retorna um (um ou vários) conjuntos de resultados (tabelas), enquanto uma função retorna um único valor.
Você deve pensar duas vezes antes de usar funções na cláusula where, se elas contiverem cláusulas select do banco de dados, pois isso pode levar a uma situação em que o otimizador de consultas não consiga otimizar o caminho de consulta resultando em consultas serializadas e baixo desempenho. Se a quantidade de dados for pequena ou você estiver de acordo com o possível impacto no desempenho, isso funcionará.