I think the answer to both of your questions lies in the foreach loop. Here's an example where it goes through the weapons attached to a Vehicle and removes the weight - this code is part of each vehicle. Foreach can go against the hero or a specific item that contains other items like a Vehicle (a gizmo).
Code:
foreach pick in gizmo where "component.WeaponBase"
eachpick.field[gearWeight].value = 0
nexteach
Here's one that goes against the hero and adds a damage bonus to each weapon.
Code:
foreach pick in hero where "component.WeaponBase"
eachpick.field[wpDmgBonus].value += 1
nexteach