À mon avis, les procédures stockées doivent être utilisées uniquement pour la manipulation de données lorsque la même routine doit être utilisée entre plusieurs applications différentes ou pour l'ETL entre des bases de données ou des tables, rien de plus. Fondamentalement, faites autant de code que vous le pouvez jusqu'à ce que vous rencontriez le principe DRY ou ce que vous faites est simplement de déplacer des données d'un endroit à un autre dans la base de données.
Les vues peuvent être utilisées pour fournir une "vue" alternative ou simplifiée des données. En tant que tel, j'irais avec une vue car vous ne manipulez pas vraiment les données autant que de trouver une méthode différente pour les afficher.