As far as I understand, restricting the number of potentially available paths is beneficial to the FPS, which results in a recommendation to close off sections of the fortress where no activity should take place with locked doors (or a wall). When dorfs bump into each other they repath (apparently to the place where they met, rather than to the destination), so well traveled passages should be at least two tiles wide (you can get silly results with two available single tile paths where both parties meeting turn around, bump into each other in the other passage, turn around...). If there's no available path (or the alternative is too long a detour [I don't know how far "too long" is]), one of them lies down on the ground while the other one climbs over the prone one when they meet.
In many cases it seems the selection of the target is done as the dorf digs, and the path is then calculated properly to that location. It also seems multiple targets are selected according to the "as the dorf digs" method based on the starting position rather than the position of the previous position on the path (e.g. picking up food and then a table at which to eat it). There is, or at least was, a stack based tendency, i.e. the latest rock dug being picked up for processing rather than the closest one. This was tempered by the jobs rewrite 1 ½ years ago, however.
The above obviously doesn't answer the question (Fleeting Frames did that), but it's relevant to what I think you are trying to achieve.