1) При использовании операторов
=, <, >, <>
- да
2) Нет. Но при этом он не является true, т.е. при использовании в WHERE или JOIN условие с ним сработает как ложное. Ну и вне БД, например, в PHP и других слабо типизированных языках он легко превращается в false
3) Странный вопрос какой-то, перевернутый. Операторы IS NULL/IS NOT NULL придумали потому, что сравнение с NULL обычными операторами работает не так, как все привыкли. Вообще, в SQL троичная логика (на примере =):
= | TRUE FALSE NULL
________________________________
TRUE | TRUE FALSE NULL
FALSE | FALSE TRUE NULL
NULL | NULL NULL NULL