I already have written an article about the usage of a TVP (Table Value Parameter) in SQL 2008 and later (see http://emoreau.com/Entries/Articles/2010/11/SQL-Table-Value-parameters.aspx).
Rob Farley found a way to reproduce most of this behavior in SQL 2005. You can read his workaround at http://sqlblog.com/blogs/rob_farley/archive/2011/10/20/table-valued-parameters-in-sql-2005.aspx