The following is a 3D AI approach, but is easily translated to 2D (I dont know which you're using)
In our engine we have a dynamic path-node grid where a AI entity navigates through the node grid with A-star. When we then drop an object or is manually placing objects into the scene we update the path-nodes when there's a collision (not everytime its colliding but on enter or on exit) within their area.
So and octree or quadtree is recommended to speed things up. So Im driving my tank and the tank get's notified that it has been placed in another quadtree-node. Next we check all path-nodes which is also within the same (new) quadtree-node as the tank and we update the path-nodes however we want. If it was I tank I would set the path-nodes to a "Blocked" state and no other tank will be able to navigate through those nodes.
One important thing to note is that the path-nodes we're leaving must be reset, so we're not driving around and just blocking path-nodes, leaving a trail behind us.
If your not familiar with A-star. Here's one in 2D: http://xnatd.blogspot.se/2011/06/pathfinding-tutorial-part-1.html