Если все свойства в цепочке запечатаны (по умолчанию) и геттеры тривиальны, то JITter, вероятно, сможет встроить цепочку вызовов. Вы будете выполнять последовательность поиска по указателю, так что технически это будет не так быстро, как если бы А имел копию имени, но издержки вряд ли будут значительными.
Если какое-либо из свойств в цепочке является виртуальным, то я полагаю, что JITter не сможет встроить вызовы, и вы будете нести издержки на один или несколько вызовов функций (свойство получает). Это все еще очень мало (опять же, при условии, что геттеры тривиальны).
Как всегда, единственный способ убедиться - это измерить. И помните о том, что вы измеряете: если вложенная цепочка оказывается, скажем, на 50% медленнее, чем у А, имеющего собственную копию имени, это не означает, что это имеет большое значение, если ваша программа не тратит большое количество его время выполнения на том Имени получится - крайне маловероятно! Поэтому сначала сделайте правильное - сначала сделайте программу удобочитаемой и поддерживаемой - и если вы измеряете и обнаружите, что она является узким местом, то посмотрите на ее оптимизацию.