こういうことでしょうかね?
<ListBox ...>
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:Name}">
<TextBlock Text="{Binding Surname}"/>
</DataTemplate>
<DataTemplate DataType="{x:Type local:Address}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Prefecture}"/>
<TextBlock Text="{Binding Municipality}"/>
</StackPanel>
</DataTemplate>
</ListBox.Resources>
</ListBox>
ListBox.ItemTemplateが設定されておらず、
アイテムの型で定義されているDataTemplateがリソースに見つかった場合、
そのDataTemplateを使用する、というのを利用しています。