I'm not sure why you can't simply scale the callouts as they move away? Sounds like you are trying too hard to make a simple thing complicated. The perspective change would be very insignificant, anyway, at around 15% change in perceived scale. Otherwise what I already said might apply: Create two Nulls in 3D space that roughly are placed where Mr. Doughty is at the start and the end of the sequence, then interpolate with something like this on a third Null:
mStartPos=thisComp.layer("Start Null").transform.position;
mEndEnd=thisComp.layer("End Null").transform.position;
mStartTime=0;
mEndtime=2;
xPos=linear(time,mStartTime,mEndTime,mStartPos[0],mEndPos[0]);
yPos=linear(time,mStartTime,mEndTime,mStartPos[1],mEndPos[1]);
zPos=linear(time,mStartTime,mEndTime,mStartPos[2],mEndPos[2]);
[xPos,yPos,zPos]
Once you have that down, you can parent anything to the third Null and have it respond reasonably to camera perspective. Adjust the timing as needed, of course. Alternatively, instead of time you could also tie it to a keyframed slider. more complex stuff is certainly possible, but I think being too obsessive here would actualyl work against you, as no doubt you would prefer smooth motion over accurate, but jittery one...
Mylenium