Hola CRandel.
El código que has publicado funcionará en interbase/firebird, pero no es "general". Dado que estamos en el foro de Conexión, pues no quise publicar algo tan específico para un motor.
Por otro lado, dentro del procedimiento no te queda de otra que "filtrar" usando predicados... así que no veo la ventaja sobre el uso de una vista normal filtrada también por esa vía.
Me parece que la verdadera ventaja de los procedimientos almacenados que retornan cursores de ib/fb radica en la capacidad de realizar cálculos, manipulaciones y filtros complejos sobre los datos en el propio servidor, cosa que es muy dificil en una vista (a menos que se trate de oracle, donde estoy convenciendome que poco es lo que no se puede hacer..
)
Hasta luego.