Making objects avoid each other while using pathfinding is an interesting problem. You can make each object as an obstacle to each other, but this causes a lot of issues on itself - like poor performance - and still they will pile up on top of each other frequently.
I made a nice solution to this, but it might or might not work for you... I used the BOIDS plugin to help.
For each of my "units" I made a "ghost unit" that was the pathfinding guide for the actual unit that the ghost unit is assigned to. I made a 'container' with the unit and the ghost together, and set the ghost to "flock" to the destination using the boids behaviour... then set the actual unit to pathfind to the ghost if it's distance was more than say 10-20 pixels.
In this way, the boids behaviour takes care of the avoidance/steering of the destination and the pathfinding will travel to the ghost/boid.
There are a couple of boids plugins available - I used the old/original one (I found Rex's boids was a little too much for what I needed and the old version worked exactly how I wanted without anything too difficult).
In short it goes a little like this:
[UNIT] ----pathfinding to----> [GHOST] -----flock/boid to-----> [DESTINATION]
I hope this sheds some light on the method.