The acceleration when overlapping the wall should only be set if the wall is below the ball, otherwise it should just be down. If the wall's angle is between 90 and 270 the it's facing down. Also setting the velocity of the ball should only be done if the ball's velocity is moving toward the wall (this will provide the jumping).
Also it could help a bit if you correct the position of the ball so it pushes out of the wall.
There probably will be issues when the path crosses over itself. One idea could be to only check walls so far ahead and disable them as you pass or something.
You could probably get a similar effect with the physics behavior, but you'll still have to deal with the issue of the path crossing over itself.