Hi,
I gived a try to this issue. I was pretty sure I was right when sentenced how portal camera offset and orientation should be computed but failed frown

Code:
ANGLE angBack;
vec_set ( &angBack, &entPortalA->pan );
vec_inverse ( &angBack );

vec_diff ( &camPortalA->x, &camera->x, &entPortalA->x );
vec_rotate ( &camPortalA->x, &angBack ); 
vec_rotate ( &camPortalA->x, &entPortalB->pan );
vec_add ( &camPortalA->x, &entPortalB->x );

vec_set ( &camPortalA->pan, &camera->pan );
ang_add ( &camPortalA->pan, &angBack );
ang_add ( &camPortalA->pan, &entPortalB->pan );



This what I got so far: download
Move portals by right and left mouse buttons.

Vertical portals, portal cameras clipping planes, and portals shader work good at least xP