Enligt min åsikt bör lagrade procedurer endast användas för datamanipulation när samma rutin behöver användas bland flera olika applikationer eller för ETL mellan databaser eller tabeller, inget mer. I princip, gör så mycket i kod du kan tills du stöter på DRY-principen eller vad du gör är att helt enkelt flytta data från en plats till en annan inom DB.
Vyer kan användas för att ge en alternativ eller förenklad "vy" i data. Som sådan skulle jag gå med en syn eftersom du inte riktigt manipulerar data så mycket som att hitta en annan metod för att visa den.