For proper 3rd person you'd need to trick the client into thinking that the server is running at a different difficulty setting than it really is. (Although the concept of "difficulty" in ArmA is just the server telling you what variables to set to what value it wants)
It's represented as Recruit, Regular, Veteran, and Mercenary(aka Expert) in the server configs, but most likely that's just a lookup table for a bunch of boolean values like:
Armor=1; //Health buff for all I know
FriendlyTag=1;
EnemyTag=0; //Enemy come up on map screen if set to 1
HUD=1;
HUDPerm=1;
HUDWp=1; //Waypoint
HUDWpPerm=1; //Waypoint stays on screen forever?
HUDGroupInfo=1;
AutoSpot=1;
Map=1;
WeaponCursor=1; //Green crosshair thingies
AutoGuideAT=1;
ClockIndicator=1;
3rdPersonView=1; //What the noobstick was looking for
UltraAI=1; //Turns the AI into rambo
AutoAim=0; //No prizes for guessing what this does
CameraShake=1;
UnlimitedSaves=1; //Singleplayer thing to be honest
DeathMessages=1; //So you know who kills who etc
NetStats=1; //So you can bring up the scoreboard with 'i'
VonID=1; //You can tell who speaks
Now all you need to do is find pointers for these variables... (Wish I had the time to figure out where the lookup table for the locations of all the variables was so I find and change variables easily!)