Null Or Multiple Parameters When Querying
You can do it this way (notice this avoids the unnecessary #temp table):

SELECT SomeColumns
FROM dbo.TABLE AS t
LEFT OUTER JOIN dbo.FunctionName(',',@Values) AS p
ON t.COLUMN = p.Value
WHERE t.COLUMN = CASE WHEN @Values IS NULL THEN t.COLUMN ELSE p.Value END;


But much, much, much better to pass @Values as a TVP instead of a string you have to split.

No idea what your split function actually looks like, but have a look at these posts:

http://sqlperformance.com/2012/07/t-sql-queries/split-strings

http://sqlperformance.com/2012/08/t-sql-queries/splitting-strings-now-with-less-t-sql