Sorry. Did not read the complete post. 8-(
Try this:
declare @sql varchar(100)
declare @ss varchar(30)
declare @pid varchar(32)
-- name of column
set @ss='ProductID'
-- returned value: productID
set @pid=' '
-- create global temp table
select @pid into ##tmpretval where 0=1
-- sql command string
set @sql = "select [ + @ss + "] into ##tmpretval from Product "
-- run it
exec (@sql)
-- fetch the value
select @pid = [ProductID] from ##tmpretval
-- drop the working table
drop table ##tmpretval