Executing a table type parameter stored procedure or function within a select clause
The way you're doing it is about the fastest, easiest and most comfortable way you're going to find to pass a TVP to a stored procedure, sorry. You can't pass expressions to stored procedure parameters, even simple things like:

EXEC sp_who2 N'act'+'ive';


Fails with:


  Msg 102, Level 15, State 1, Line 1
  Incorrect syntax near '+'.


In order to use an expression, it needs to be:

DECLARE @expression SYSNAME = N'act'+'ive';
EXEC sp_who2 @expression;