John definitely works with passwords longer than 8 characters. The default dictionary used by john even includes 81 such examples (egrep '.{9,}' /pentest/passwords/jtr/password.lst | egrep -v '^#' | wc -l).
You might be confusing max password length supported by John with max password length supported by the particular password algorithm you're trying to crack. The old DES-based crypt() function used to protect UNIX passwords, for example, would only support password lengths of 8 characters or less.


