Si está utilizando SQL Server 2008, un filtro de índice podría ser su solución:
http://msdn.microsoft.com/en-us/library/ms188783 .aspx
Así es como aplico un índice único con múltiples valores NULL
CREATE UNIQUE INDEX [IDX_Blah] ON [tblBlah] ([MyCol]) WHERE [MyCol] IS NOT NULL