I hate hate hate the if query structure in the editor. The tree layout it uses starts to get really confusing after you have added 3+ if queries into the same if query block & gets even more confusing when you try & add else action parts between them.
This is one of the reasons why I use lua script & also one reason out of many as to why I decided to learn it. Besides the reason I just gave, it is actually often easier & faster to type out a little bit of code than it is to navigate & click around the editor action parts.
What you are talking about can be done in lua easy enough... Let's say you have named the animations in each character outfit exactly the same, then all you need to do to trigger the correct animation based on current outfit of the active character is:
startAnimation("Game.GameCurrentCharacter.CharacterCurrentOutfit.OutfitCharacterAnimations[animation_name]") -- replace "animation_name" with name of animation you want to play
As for checking if item exists you need to store all items currently in characters inventory into a table & then iterate through them to see if the item exists... So in other words it's entirely possible to have a function check through various things & if it is then have it start an action or set a condition or value.
There's loads & loads of lua script related stuff on the wiki, because it's what I focus on the most. I will probably get around to continuing & improving upon the "learn the basics of lua" page at some point too, which is a good place to start.