Yo por ejemplo lo haría asi:
Código:
select * from usuarios where
NOMBRE LIKE ISNULL( '%' + txtNombre.Text + '%') AND
APELLIDOS LIKE ISNULL( '%' + txtApellidos.Text + '%')
Si metes algo en la caja de texto de nombre (txtNombre) filtrará, sino.. hará un like de %% que es lo mismo que decir que te coja todo.
Y luego, esta haciendo lo mismo con el apellido, y asi sucesivamente podrías hacer.