Is there an engine that finds the best "practical" move? A standard chess engine will find the move it considers best assuming best play from both sides. But this move might lead to an insignificant advantage or a tricky line that can easily result in mistakes for a human player of a specific ability. Is there a program that finds the best "practical" move for e.g. intermediate players? For example, it might pick a move that leads to a very strong attacking position where the opponent will most likely make a mistake, even though it could be defended against with perfect play.
You're describing something that's very similar to contempt. The idea with contempt is that if you keep more dynamism in the position, a weaker opponent is more likely to make mistakes that you can then exploit. Therefore, given two moves that yield similar evals, an engine with high contempt score will choose the one that keeps more dynamism in the position. The current-strongest traditional engines all have contempt implemented (example for Komodo). 

The danger of contempt is, against a strong opponent, high contempt can get you killed - you are after all forcing the engine to play a weaker move just to keep the game alive.