<ContextMenu x:Key="MyContexMenu" ItemsSource="{Binding Companies}" >
<ContextMenu.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="ItemsSource" Value="{Binding Workers}"/>
<Setter Property="Header" Value="{Binding CompanyName}"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Header" Value="{Binding Name}"/>
<Setter Property="Command" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=DataContext.CMCommand}"/>
<Setter Property="CommandParameter" Value="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}"/>
</Style>
</Setter.Value>
</Setter>
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
Для байндинга без разницы откуда возьмётся это свойство, главное, чтобы оно было у экземпляра класса, находящегося в DataContext.