There have been some papers written on pathfinding in a polygon based world. I found them while searching the web on "path finding" and "shortest path" and "mobile robots". Its been a while since I've read them, but I seem to recall the process being somewhat computationally extensive. You should be able to locate them via yahoo or alta vista pretty easily.
I've used the waypoint system (similar to what is described above) in a dynamic 3D world (just like described for a RTS) and when the world changed (walls destroyed, buildings built, etc.) we would evaulate and place new nodes (same as waypoints) and link them into the network via the nearest nodes. Then run Astar on the nodes to find the path. Moving units or other NPCs were not a problem, as we would collision detect on those within a specific range as the path was determined.
Just some ideas to consider ...