Well, first, owe you an apology. Had forgotten this - TVFs (either single line or multiline) can't return dynamic SQL. They go by stricter rules than regular stored procedures. For lack of a better term, they have stricter design-time binding. I thought there was a workaround but apparently there isn't.
You can have a stored procedure that receives all the information and constructs the syntax and result set dynamically. That will work....though you're subject to the rules about the result set and what you can do with it. (If you want to join the results of a proc to another table, you have to redirect the results to a table or temp table)