This is really an application design problem more than a SQL problem.
If you are working with an N-tier app design, move this code to an application server and iterate the comparisons there. If you are using a 2-tier design, refactor your application code if you can. If neither choice is viable, there is a SQL solution but it is messy.
Create a table variable and populate it with your dateValue array. Pass the table variable to a stored procedure and use the table parameter to create a new instance of the same type that has only the matching member or members and return that to the client.
Since the table parameter will create a truly ugly execution plan, there is no reason to avoid the added thrill of dynamic code to allow different comparison operators!
Note that the first two options (fixing the design of the application code) are far preferable to trying to fix those problems using SQL. I would only use SQL to fix this problem as a last resort.