I've noticed that if a user if off chat for some time, automatic completion for her username doesn't work. I've also learned that in such a case, the user won't be notified even if you manually enter their name. My question is, how long should user be off chat for such to happen?
As far as I can tell, usernames are never forcibly removed from the auto-complete, so it works for as long as you have the room open. Therefore, you will always see the names of anyone who has been in the room while you were there until you leave and then re-enter the room in some form (via refresh, closing the browser, etc.).
Conversely, you won't see the names of people who left before you entered the room unless their messages are visible on your screen (the chat will populate the auto-complete with all names you have reason to know about). This does not mean that you can't notify them, however. If you manually enter their name, they will be notified via the StackExchange™ SuperCollider MegaDropdown™ if the chat notification criteria is met.
More generally, the appearance of a username in the auto-complete doesn't guarantee that you can notify that person, nor does the absence of a username imply that you can't.