Einfachste Methode: Benutze die AUTH-API des Forums dann geht das so:
Das Array enthält dann die erlaubten Foren. Streng genommen wird das zwar dann abhängig vom User geholt, aber dadurch bekommen ja dann die User die mehr dürfen lediglich mehr angezeigt.
Ansonsten wird das eher schwierig, denn durch die flexible Speicherung musst du zunächst die option_id herausfinden, die in deinem Forum für f_read angelegt ist (Tabelle acl_auth_options wenn ich mich nicht irre), dann musst du aus der Tabelle groups die Gruppen ID der Gruppe GUESTS bestimmen und für diese dann in der Tabelle acl_groups alle Foren auslesen, in denen die entsprechende Option mit einem positiven Wert gesetzt ist. Allerdings reicht das noch lange nicht, denn es kann auch sein, dass über eine Rolle Zugriff besteht, d.h. du musst dann noch über die Tabelle acl_roles_data die Rollen herausfinden, die diese Option gesetzt haben und diese zusätzlich noch aus der Tabelle fischen. Also nicht sonderlich einfach.
Alternativ kannst du versuchen den Eintrag in der users Tabelle beim User anonymous zu decodieren. Dazu musst du dir dann die Klasse auth mal genauer ansehen, vor allem die Methode acl in welcher die Dekodierung stattfindet. Das Problem dabei ist allerdings, dass das nicht funktioniert, wenn der Cache mal geleert wurde, denn dann muss der erst wieder aufgebaut werden. Das einfachste ist es also eindeutig, wenn du die vorhandenen Funktionen nutzt.