I'll tackle the last one first as it's easiest: simply get a moving unit/object to 'Say' the sound, looped if necessary, eg:
runningman Say "whistle"
Voices in vehicles are not hard, but may take a bit of effort to get them to sound right - sound seems to carry a long way in OFP.
The conventional approach would be to configure the sound sample for radio, then play it using VehicleRadio so you to hear it only while you're inside (I think that's how it works). If you had to 'overhear' the chatter outside you could duplicate the same sample in CfgSound at a low volume and 'Say' that at the same time:
helichopper VehicleRadio "radioquestion"
helichopper Say "radioquestionlow"
Snag is you'll hear the Say sample in the vehicle as well, if it's loud enough.
The other approach that gives you the flexibility to use -Radio, Say or PlaySound commands is to make it conditional on where you are:
?(Vehicle player == helichopper): helichopper Say 'effoffthen'
Experimentation is the order of the day, I'm afraid.