Создайте новый объект, который наследуется от FirstSubclass (скажем, InBetweenSubClass) и переопределяет необходимые методы FirstSubclass. Затем измените SecondSubclass на производный от InBetweenSubClass вместо FirstSubclass.
В Objective-C нет эквивалента "переопределения", вы просто реализуете метод с той же сигнатурой, и этот метод базового класса переопределяется. Вы также можете сделать что-то подобное, если выполняется специальное условие, использовать новый метод, в противном случае используйте метод базового (супер) класса:
-(void) test
{
if (self.specialcondition)
{
[self newTest];
}
else
{
[super test];
}
}