This is a bit of a non-answer but is probably better than a string of comments. There are some ideas in here.
The problem is that you need line of sight rather than to be near a tower. You could work that out from a contour map with the towers marked - get electronically or on paper. But tower locations aren't generally published, at least not in a convenient way. You can guess at some of them, so climbing a hill that will give you line of sight to a town should work - for which you need a topographic map and some old fashioned navigation skills.
A partial technical solution would be to log signal against location, to let you know the minimum backtrack to get a signal. This might get through quite a lot of battery. I know it would be possible to build such an app but I don't think one exists.
An automation app I use called
tasker can report a list of cells it can see. The code names for the cells don't make it clear what network they're on, but if you're strictly considering emergency calls that won't matter. Although it's a very versatile app I don't know how you could make it log your location when cells are found, and reporting the list is a tool for building rules to preform actions when a specific cell is near. It looks like it can tell you when you've lost signal.
There are apps that upload your location when they have a signal. If you could locally access a log from such an app you might be able to tell where you were when you had coverage. But you probably can't.
You would still need to use your judgement about whether to go uphill to get line of sight, or backtrack. This depends on so much more than information about cell locations (such as the nature of the emergency and the weather conditions).
Finally signal propagation is strange. Sometimes you'll get a good signal without line of sight because of reflections. I've even known a wooded river valley with no signal (on my network) except at the base of a particular tree beside the path, where it was weak but repeatable.