на самом деле выдавать уникальные ИД для компонентов - не проблема.
В Bitrix .NET Forge так и есть.
Но пользы от этого меньше, чем геморроя.
Если мне нужно несколько копий включаемых областей (отличающихся только файлов) в шаблоне, то я не просто копирую вызов и правлю адрес файла, но ещё и ИД правлю. И не забываю проставлять ИД такие, чтобы они не совпали с какими-нибудь другими.
Но да, там всё работает так, как хочет ТС.
:D