you need to use a CCCallFunc
[CCCallFunc actionWithTarget:self selector:@selector(switchFunc)];
This will run a function called switchFunc when it is called.
in my game, i have an idleAnimation, and a jump animation.
jumpStartSeq = [[CCSequence actions:jumpAnim, floorSet, playIdle, nil] retain];
my playIdle action repeats itself forever.
When a user taps the screen, i have a function that stops all actions on my sprite and runs jumpStartSeq. It also changes the sprites state to 'isJumping = TRUE'
my jumpAnim which is a CCAnimation is played, then floorSet is used to reset my players isJumping state back to FALSE and then the playIdle anim is started again.
Just make your animation 8 frames long not 16. have a callFunc in the middle. then have a second animation with your remaining 8 frames.