Depends on what kind of portal you are talking about. Automaticly calculated visibility or manual placement?
I think with manual placement you can save all linepicks. Let's assume you would use bounding boxes: this will give you a list of boxes and all your engine would have to do is checking, if the camera is inside such a box. all boxes also have links to other portal boxes that are visible from the current locations box.
Since Map Design takes a lot of time anyway, I think it's not that hard to walk trough the level and enable/disable some boxes from each box - takes a few minutes.
I think with manual placement you can save all linepicks. Let's assume you would use bounding boxes: this will give you a list of boxes and all your engine would have to do is checking, if the camera is inside such a box. all boxes also have links to other portal boxes that are visible from the current locations box.
Since Map Design takes a lot of time anyway, I think it's not that hard to walk trough the level and enable/disable some boxes from each box - takes a few minutes.