Current hypothesis on the forums is that he uses some simplistic variant of A*; in extreme situations everything pathfinds to everything else once a tick in a totally serial program. The player base sometimes resorts to weird hacks and layouts to reduce the branching complexity of the path finding, but ultimately the more loose stone and objects you have to pathfind off and the more things you have pathfinding the worse everything gets. You don't even have to have a large number of dwarves for it to crop up; sheep are capable of bringing your machine to its knees if you don't ruthlessly cull them, or notoriously the catsplosion problem.