You are not going to be able to return a variant data type.
If your RETURN VARCHAR(255) then that will be the data type for each column that you use the function on.
For better, quicker answers on T-SQL questions, click on the following...
http://www.sqlservercentral.com/articles/Best+Practices/61537/
For better answers on performance questions, click on the following...
http://www.sqlservercentral.com/articles/SQLServerCentral/66909/