Per SQL Server 2005, dai un'occhiata all'eccellente articolo di Erland Sommarskog sugli array e sugli elenchi in SQL Server 2005 che mostra alcune tecniche su come gestire gli elenchi e gli array in SQL Server 2005 (ha anche un altro articolo per SQL Server 2000).
Se puoi eseguire l'aggiornamento a SQL Server 2008, puoi utilizzare la nuova funzionalità denominata "parametro con valore di tabella":
Innanzitutto, crea un tipo di tabella definito dall'utente
CREATE TYPE dbo.MyUserIDs AS TABLE (UserID INT NOT NULL)
In secondo luogo, usa quel tipo di tabella nella procedura memorizzata come parametro:
CREATE PROC proc_GetUsers @UserIDTable MyUserIDs READONLY
AS
SELECT * FROM dbo.Users
WHERE userid IN (SELECT UserID FROM @UserIDTable)
Vedi i dettagli qui.
Marco