Что вы можете сделать, это построить две ObservableCollections, содержащие ссылки на элементы из XML-данных, которые вы запросили.
Вместо применения приведенной выше логики к ListBoxItem, примените ее к каждой ссылке в данных XML и добавьте данные в collection1 / collection2.
Затем просто привяжите collection1 / collection2 к listBox1.ItemsSource и listBox2.ItemsSource.
У вас есть два списка, ссылающихся на одни и те же данные, без проблем с дублированием элементов управления пользовательского интерфейса в дереве.