Как разделить XAML код?
DataContext и так спускается сверху, вам для этого ничего дополнительно делать не надо.
Можно забиндить контроллы на DataContext родительского элемента управления. Гуглите параметр ElementName биндинга