I don't think it's too complicated to set such a thing up. When you press tab, all the words beginning with the typed letters are cycled as you mentioned. The Sequenze the words are cycled should be (in my opinion) the following:
1. all nicknames (allready exists)
2. Words in the chatwindow; most recent ones first, scanning backwards.
In this way you can easily reply somebody who used some complicated or long words.
Language/slang is not a problem, because the word you are going to write actually exists in the chatwindow.