No need for items. There is a give XP function.
Setting all the AI's to a higher level should be pretty arbitrary. Did a quick test and adding this to the section where my AI announces its build (friendlyAsset.lua) resulted in them all being level 20 and me level 5 (set in menu) to start the match.
#[MOD] Announce Build
local announcement = "Build: "..buildNames[num]
AIUtils.AIChat(unit, announcement)
unit:GainExperience(20000)
The announce and build selection only runs once, so thought it was a good spot to test.
I don't know the exact integer amounts for each level off hand, but i sure it could be fine tuned without much trouble. I've never made a distiction between the AI's on my team vs not, but there should be a way to determine that and apply the bonus to enemy AI's if needed.
Edit logic to apply different XP values to ally AI vs Enemy AI:
for k, v in ScenarioInfo.ArmySetup do
if(v.Human) then
humanIndex = v.ArmyIndex
break
end
end
if (IsAlly(brain:GetArmyIndex(), humanIndex)) then
unit:GainExperience(2000)
else
unit:GainExperience(6000)
end