calculating a shortest path in a table structure that changes in real time
There are many; you can find a list here. The most applicable is probably D*-lite.

However, there are not many off-the-shelf implementations for it, so the vast majority of games just recalculate the best path using A*.  There are many visual and technical tricks for recalculating as infrequently as possible without negatively affecting the game, but that's more of a question for gamedev.stackexchange.com.

For NPCs in particular, you may also want to look into pathfinding with many units at once.  Some typical search-terms for this are "swarm pathfinding", "boids", "flocking behaviors", and "collision avoidance pathfinding"