In the "old days", physics were something you added to Cocos2D. It came in two flavours, Box2D and Chipmunk, and which version you used, was a matter of personal taste.
With Cocos2D V3, physics go integrated into the API, and we chose Chipmunk because I liked it over Box2D, and because the author Scott Lembcke, has been a invaluable contributor to Cocos2D for many years.
So while it still is possible to use the stand alone physics libraries, it is infinitely easier to use the integrated physics, witch works superb in SpriteBuilder.
As for your questions.
If you want to change the collision handling, that certainly is possible. While you have to dig into the API a bit, there is nothing stopping you from replacing a shape at runtime. Always bear in mind when dealing with physics though, that it is a delicate machine, and ideally you want to upset it as little as possible.
I would in stead create the different shapes you needed at init time, and maintain a couple of ivars for fast and easy access. This is how it is done in ex. this video.
Edit: The video actually doesn't show the tank changing direction, but I promise you that it was capable of doing so.
If you were to add / move / remove bodies and shapes when the tank changes direction, it would be almost impossible without upsetting the physics, so in stead the tank is actually two tanks, running in each direction, where collisions are then enabled and disabled as needed.