To make all the costs comparable, you only need to use the same heuristic for all actions. For example, all actions have a list of potential outcomes and all outcomes have a certain value to the entity.
For example, there's a deep pool with water, and the entity is thirsty. So we look at an action the pool has available to satisfy that need:
First the entity priorities associated with these places, you could call these the modifiers. Some of these will change with time and depend on the entity. For example an ant might worry less about staying alive and more about colony concerns. Or if an entity has gone a while without drink, the satisfy thirst priority may override others.
Entity priorities:
Satisfy thirst: 40
Stay dry: 10
Stay alive: 100
Then what the location represents:
Location: Pool
Action: Collect water
*Potential outcomes: *:
Satisfy thirst - (-95)
Get wet - 10
Drown - 1
So we could calculate that action cost at: (40*-95) + (10*10) + (100*1) = -3600
Where collecting water from a raging river might look like:
Location: Raging river
Action: Collect water
*Potential outcomes: *:
Satisfy thirst - (-95)
Get wet - 90
Drown - 60
(40*-95) + (10*90) + (100*60) = 3100
So it's clearly a better choice to collect water from the pool. Maybe if the raging river was the only choice the entity would wait until its satisfy thirst priority went very high before trying the river.
You may want to keep things much simpler starting out. Just have a few variables that can apply more globally. Like staying alive, satisfy needs. In your fight or flight example, you'd need to give each entity a combat rating, so they could effectively rank themselves against the other entity for score purposes.