Не очень понятно, что вы хотите получить.
Если вы хотите определить класс, соответствующий протоколу, который вы пишете:
@interface MyClass: ParentClass <MyProtocol1, MyProtocol2,...>
Если вы хотите определить объект, который должен быть экземпляром некоторого класса, который подтверждает протокол, вы можете написать:
id<MyProtocol> myObject;
Если вы хотите получить объект протокола по имени, вы можете использовать
Protocol *objc_getProtocol(const char *name)
функция. Я не знаю, можете ли вы создать протокол во время выполнения.