Should I be able to use an include inside a variable definition?
<include name="skinshortcuts-template-main-menu-fanart">
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),num-20342) + Control.HasFocus(9000) + String.IsEqual(Container(90101).ListItem.DBTYPE,episode)">$INFO[Container(90101).ListItem.Art(thumb)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),num-20342) + Control.HasFocus(9000)">$INFO[Container(90101).ListItem.Art(fanart)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),num-31020) + Control.HasFocus(9000) + String.IsEqual(Container(90201).ListItem.DBTYPE,episode)">$INFO[Container(90201).ListItem.Art(thumb)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),num-31020) + Control.HasFocus(9000)">$INFO[Container(90201).ListItem.Art(fanart)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),setupskin) + Control.HasFocus(9000) + String.IsEqual(Container(90301).ListItem.DBTYPE,episode)">$INFO[Container(90301).ListItem.Art(thumb)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),setupskin) + Control.HasFocus(9000)">$INFO[Container(90301).ListItem.Art(fanart)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),settings) + Control.HasFocus(9000) + String.IsEqual(Container(90401).ListItem.DBTYPE,episode)">$INFO[Container(90401).ListItem.Art(thumb)]</value>
<value condition="String.IsEqual(Container(9000).ListItem.Property(submenuVisibility),settings) + Control.HasFocus(9000)">$INFO[Container(90401).ListItem.Art(fanart)]</value>
</include>
<variable name="BackgroundImageFanart">
<include>skinshortcuts-template-main-menu-fanart</include>
<value condition="String.IsEqual(ListItem.DBTYPE,episode)">$INFO[ListItem.Art(thumb)]</value>
<value>$INFO[ListItem.Art(fanart)]</value>
</variable>