Existence of functions that only tests memberships without revealing any information about the members
Yes.  This is known as the problem of obfuscating a point function.  There are standard schemes.  See, e.g., the following papers:

On Obfuscating Point Functions.  Hoeteck Wee.  STOC 2005.

Technically, a point function is a function $f_s(x)$ given by $f_s(x)=1$ if $x=s$ and $f_s(x)=0$ for all $x \ne s$.  There are standard schemes for obfuscating point functions.  This corresponds to the special case of your problem where $n=1$ (hiding a single value $s$).  However, the techniques all generalize to arbitrary $n$, as long as the number $n$ of values is exponentially small compared to the size of the domain of the function.