Fammi capire meglio ...
La prima select ti ritorna UN SOLO codice articolo (1 record) ? oppure ti ritorna una tabella di codici articolo ?
Non hai la possibilità di ottenere subito il risultato finale (magari con una join fra tabelle o cose simili) ?
Se la prima select ti ritorna una lista di record potresti definire all'interno della tua stored procedure una tabella temporanea (vedi qui: http://www.sqlteam.com/article/temporary-tables ) scorrere la lista dei codici articolo con un cursore, ottenere la giacenza ed inserire i dati nella tabella temporanea; alla fine della stored fai un select * from tabella_temp
Prova a mettere la struttura delle tabelle, mi sembra strano che non si possa fare tutto con una sola query ed una join...