http://dev.mysql.com/doc/refman /5.0/bg/create-index.html
"УНИКАЛЕН индекс създава ограничение, така че всички стойности в индекса трябва да се различават. Възниква грешка, ако се опитате да добавите нов ред с ключова стойност, която съответства на съществуващ ред. Това ограничение не се прилага за NULL стойности, освен за Машина за съхранение на BDB. За други машини, УНИКАЛЕН индекс позволява множество NULL стойности за колони, които могат да съдържат NULL."
Така че, не, не можете да накарате MySQL да третира NULL като уникална стойност. Предполагам, че имате няколко възможности:можете да направите това, което предложихте във вашия въпрос и да съхраните "специална стойност" вместо null, или можете да използвате BDB двигателя за таблицата. Не мисля обаче, че тази малка разлика в поведението налага да направите необичаен избор на машина за съхранение.