I think you can use Relative Position. This will keep the camera near the target in a certain position no matter where the target is. EG:
_camera camsettarget chopper1
_camera camsetrelpos [5,5,1]
that means the camera is 5 meters to the right, 5 meters in front, and 1 meter up
As for targeting another object from that position, I think u could use getPos as in:
;new camera shot
_camera camSetTarget newobject1
_camera camSetPos getpos chopper1
_camera camSetFOV 0.7
_camera camCommit 0
@camCommitted _camera
This should make the camera switch to the new object ("newobject1"), but position itself at chopper1 (probably the center, don't know :-\).