Hola:
La verdad es que los controles siempre llevan valores string, así que null no vale (ni true/false/undefined...)
Lo que se suele usar es la cadena vacía... y por cierto, basta con comprobar que el value del select, que al final es lo que se envía (y olvidarte de líneas tan extensas...
Código:
if (document.formulario.selector.value == "")...
Saludos