Хммм.
В CAShapeLayer он имеет свойства strokeStart и strokeEnd, которые определяют, где вдоль фигуры начинать рисование и где заканчивать. Если бы вы использовали start strokeStart и strokeEnd из .5, вы получите бесконечно малую часть середины пути, например. (На практике вам, вероятно, придется использовать от .49 до .51 или что-то еще, чтобы заставить его рисовать).
Однако я не вижу возможности для запуска CAKeyframeAnimation только для части своего пути.
Я бы предложил разместить это на форуме Core Animation на сайте Apple. Есть несколько инженеров Apple, которые публикуют их довольно регулярно, и они знают свое дело.