I'm not an expert on Spine yet, but you might want look at TimeScale. Off the top of my head, something like.
private SkeletonAnimation skeleton;
skeleton.Timescale = 0.0f;
If you set the timescale to 0.0f then the currently playing animation will stop. Also, I guess you're probably going to want to have the animation gradually stop and start but you'd be able to slerp (or similiar) from 1.0 to 0.0 and then 0.0 to 1.0 again after your "punch colliding into wall" animation sequence is finished.