Whoops...incorrect ItemsSource for the child; I was trying to see if
Binding could do the XPath itself - it can't - and didn't replace with the
working XAML. It should be:
ItemsSource="{Binding ElementName=Grade, Path=SelectedItem,
Converter={StaticResource XPathConverter},
ConverterParameter=./Subjects/Subject}"

Where XPathConverter is a custom IValueConverter that has something like
(but with some parameter checking):

public Object Conver(Object value, Object parameter, CultureInfo culture) {

return ((XmlNode) value).SelectNodes((String) parameter);
}