I found a solution to my situation but it may not suit all projects. As always there are many ways to accomplish something. For me this works for now.
First off I discovered that Sequence Player nodes within the Anim Graph can apparently expose many useful pins if you select them and look at their details. I just thought they could only play a specified anim but this is not true.
Here is my Idle State
What I am doing is blending between two anims based on a bool. This bool determines if a weapon is equipped or not. If one is not the default Idle anim is used, otherwise it will grab the Idle anim from a component attached to the Character BP. Following the arrows you can see how I changed the anim to grab it from the variable in the component.
I decided to use a component so that if the character equips a different weapon the set of anims can change based on the weapon. This allows a sword to use different Idles and Movement anims from an axe.
Here is how the movement blend space is handled.
Similar to the Sequence Player, the Blendspace Player is used and has the anim pin exposed with the Walk variable selected from the component.
Here is how I set the component variable on the AnimBP.
I use the Event Blueprint Begin Play node rather than the initialize event because the initialization happens too quick and does not properly get the component from the owner.
To summarize, I expose the anim to use as a pin then select between a default anim and a variable anim based on if the character has a weapon equipped.
Hope this is useful to anyone in the future.