I believe it's something like:
ANGLE tempAng;
vec_set(tempAng, my.pan);
alignToVec(tempAng, normal, vector(0, 0, 1), 1);
vec_sub(tempAng, my.pan);
c_rotate(me, tempAng, GLIDE);
c_rotate adds the rotation to the entity's current orientation, so if we want to align it with an angle, all we need to do is subtract its real orientation first, and then perform the c_rotate with the difference (as shown above).
I don't have time to test it, since I'm about to go on holiday for Christmas with my family
Jibb