When -trim-egraph is unavailable (say, when you're debugging a crash on a real-world code that takes too long to reduce), it makes sense to view the untrimmed graph up to the crashing node's predecessor, then dump the ID (or a pointer) of the node in the attached debugger, and then trim the dumped graph in order to keep only paths from the root to the node.
Implement the last part of that plan. Now you can do:
$ exploded-graph-rewriter.py ExprEngine.dot --to 0x12229acd0
And it'll chop out the unnecessary chunks of the graph. You can also specify multiple nodes and you can specify nodes by stable IDs rather than by pointers.