Dokumentacja funkcji 'nlssort' nie stwierdza, że ciąg wyjściowy będzie normalizacją ciągu wejściowego lub że będą miały taką samą długość. Celem funkcji jest zwrócenie danych, których można użyć do posortowania ciągu wejściowego.
Zobacz http://docs.oracle.com/ cd/E11882_01/server.112/e26088/functions113.htm#SQLRF51561
Kuszące jest używanie go do normalizacji ciągu, ponieważ najwyraźniej to działa, ale tu grasz...
Heck, może to nawet dać LENGTH(b)=200 i nadal robić to, co powinno :)