В БГД существует понятие Классы, содержащие субтипы. Если вы имеете в виду именно такие классы, то установить разные связи на разные подтипы не удастся. Между такими классами без проблем можно устанавливать отношение, но только рассматривая класс как единое целое.
Я согласен что невозможность создавать связи по нескольким полям (тогда и на разные подтипы можно установить различные связи) немного сковывает руки...
А что вы имеете в виду под ручным добавлением связи? Средствами Инспектора объектов или ... ?
Можно создавать программно...
Например между пространственными объектами можно потоком создать связь, основываясь на пространственном взаимоположении объектов... (правда прибегая к помощи например MS Access или ArcObjects и т.п.)