For the "gathering" you can use the mining options in the config for the random chance: https://github.com/AsYetUntitled/Framework/blob/master/Altis_Life.Altis/config/Config_Gather.hpp#L69
For processing, just add 2 addActions to the processor, one for each you want to process, or make a processing config where they require one of each but get one of each refined (but they wouldn't be able to do one of either with that).
For vehicle shops, there's a condition in the config for the shop. So you could just put the "license_civ_rebel" in there for the shop and any of that shop would be rebel only.
For the init you posted though:
this enableSimulation false; this allowDamage false; this addAction[localize"STR_MAR_Helicopter_Shop", life_fnc_vehicleShopMenu,["civ_air",civilian,["civ_air_1","civ_air_1_2"],"civ","Carl's Airial Auto's"],1.5,true,true,"","license_civ_rebel"];
Please look at what I did and read the wiki on addActions: https://community.bistudio.com/wiki/addAction
You just need to provide the arguments (I used the defaults as described in that wiki) until you get to the condition, then put the condition you want for the action to appear.
Description: Blacks out the players screen with a message depending on the state of TaskForceRadio enforcing the player to stay in the channel TaskForceRadio whilst playing.
Copy the following code into your core/init.sqf file within your mission.