Você pode fazer isso apenas em sql, assim:
SELECT *
FROM tUsers
WHERE 1 = 1
AND (@userID IS NULL OR RTRIM(Name) = @userID )
AND (@password IS NULL OR RTRIM(Password) = @password)
AND (@field2 IS NULL OR Field2 = @field2)
....
Se algum parâmetro for passado para o procedimento armazenado com um
NULL
valor então toda a condição será ignorada. Observe que :adicionei
WHERE 1 = 1
para que a consulta funcione caso nenhum parâmetro seja passado para a consulta e neste caso todo o conjunto de resultados será retornado, pois 1 = 1
é sempre verdade.