Yeah that's the sort of thing i had in mind, but I didn't read any articles on it, I should probably read those.
Another cool thing is "flow fields". Basically, a flow field is often used in RTSs, "Tycoon" games, or anywhere many agents might want to path to the same goal. It works by doing Dijkstra's algorithm on the whole map starting from the goal, then any agent who wants to go to that goal simply looks for a lower number than their current tile and follows that.
For example, a good use of Flow Fields for a DF-type game might record "distance to the edge of the map" in every tile. Then whenever a new tile is opened or one is closed off, any adjacent tiles have their flow field recalculated, and if they change, then every adjacent tile to them is also added to the list of tiles to recheck. Another flow field could be used for "distance to the trade depot". Then, anyone either heading to the trade depot or heading off the map never need to actually compute paths: those paths are pre-stored for the entire map. I've noticed a slight lag when large fortress sections are opened up, that might be because these sort of cached distance information values are being update in DF already.