Sorry, I jumped the gun on PASS_MAX_LEN. I should have read more carefully. PASS_MAX_LEN sets the number of significant characters in the password for crypt().
If you are using PAM, in /etc/pam.d, there is a file called passwd or common-password. On my system, the entry in common-password is
password required pam_unix.so nullok obscure min=4 max=8 md5
Check if you have md5 at the end of your entry. If it is missing, add it and you will be able to have longer password lengths.