Вероятно, это в конечном итоге больше проблем, чем стоит. Конечно, вы не хотите заменять среду выполнения, используемую системными платформами. Мало того, что это, вероятно, невозможно (или, конечно, чрезвычайно сложно), но и весьма вероятно, что приложение будет невыносимо медленным, поскольку существует множество оптимизаций, которые можно выполнить только на системном уровне.
Для этого, вероятно, потребуются значительные изменения компилятора и компоновщика. Вы также столкнетесь с проблемами границ; это сайт вызовов, вызов вашего кода или вызов системы (если вы попытаетесь запустить две среды выполнения параллельно - что, вероятно, невозможно).
Вы абсолютно правы в оценке того, что использование метаданных в текущей среде выполнения не допускается. Все метаданные были помещены за API в переходе Obj-C 2.0 специально для того, чтобы позволить метаданным значительно измениться, не нарушая [правильно написанных] приложений.
Если вам действительно нужна новая / другая модель времени выполнения для некоторого подмножества функциональных возможностей в вашем классе, лучше всего максимально изолировать ее от среды выполнения системы. Новый корневой класс может быть интересен, но любое смешивание с классами фреймворка может быть изобилующим хрупкостью.