In this article on MSDN it is specified that you can set the MAX size in this way
SqlParameter myParam = new SqlParameter("@paramName", SqlDbType.NVarChar, SqlMetaData.Max );
See the last example on the above mentioned article.
So, without knowing exactly how your SqlMetaData class is defined, and supposing that the last parameter is the size propery of an underlying SqlParameter, I think you could write
Microsoft.SqlServer.Server.SqlMetaData[] tvpdefinition =
{
new SqlMetaData("ValueOne", SqlDbType.NVarChar, SqlMetaData.Max ),
....
}