Your problem comes in the else section. You are setting the haircolor to a value, then checking if it isn't set and trying to do two different things accordingly. Change the code in your ELSE section to...
Then from the hairlength, move onto eyecolor and whatnot.
property <player%userid%; haircolor=$objectproperty(aquarian_hair1; #choice[userid]#)$>
do <hairlength>