1. Abhängig vom last_login hast du alle Threads, die "neu" sind.
2. In der Spalte "schon_gelesen" merkst du dir alle User, die den Thread gelesen haben.
Dazu musste er aber unter 1. fallen. Damit reduziert sich die Anzahl der ID´s die du dir merken musst.
Weiterhin brauchst du einen Link für den Benutzer, "alle als gelesen markieren". Der setzt einfach den "last_login" auf den aktuellen Timestamp. Somit gibts für diesen Benutzer keine "neuen" Threads mehr.
Somit sollest du keine Probleme mit der Menge der User-ID´s kriegen. Theoretisch ist es natürlich möglich, dass bei vielen Usern irgendwann die Grenze des Datentyps erreicht ist. Da du aber immer nur einen begrenzte Teilmenge speicherst (siehe 1. und 2.) sollte der Platz auf jedenfall ausreichen.
Weiterhin kann man das "last_login" ja auch modifizieren um das zu optimieren. Wenn sich heute jemand einloggt, nur die Posts von letzter Woche als "neu".