Stored procedure parameters using tsql functions?
Why not do the CAST when you SET @foo instead?

SET @foo = CAST(Substring('11test',1,2) as int)


You could even use a second variable and do this:

SET @foo1 = '11test'
SET @foo2 = CAST(Substring(@foo1,1,2) as int)


and then just call the proc:

EXEC testMe @test = @foo2