I ran into a problem when having umlauts as first letter in the <li> tag. They will not be shown, until I add them to the letters array. IMHO the better way would be to have a function, that "degrades" the letter to the next near neighbor, i.e. if it is ü, make it to u, if it's é make it to e, etc. Do you have any Idea how to achieve this? Such a function would make the listnav more multilingual. While speaking of this, perhaps you could make the word "All" a variable, too.
Same thing with special chars like *,# etc. How about adding them into a group of its own? Probably one could handle it like this: If the first letter is neither a number nor a letter, it must be a special char. Hope I could explain the problem, my english is not that good. Greetings from Germany André