There's an easy fix for the devs, just put
<Prereq>
<Type>RestrictedAbilityBonusOption</Type>
<Attribute>Shieldwall</Attribute>
<Target>Unit</Target>
</Prereq>
inside <AbilityBonusOption InternalName="Shieldwall_Level">
so Henchmen that select Shieldwall at training don't get it as a level-up choice, but others do.