The only solution I've ever seen to this problem is to create sub-procedure that parses a delimited string into an internal table (i.e. table variable). This can be done with some crafty string manipulation and a while loop.
(FYI - the input is a string, so that's all the stored procedure 'sees'. It doesn't have any way of 'knowing' that inside of this string is a list of values. It can't interpret it as such.)
If someone would like source code for it let me know and will check with the colleague of mine that provided a solution to this.