Short Dist1Short Dist2Short DistTotalSet Dist1 Player.GetDistance {OutsideDoorReference to the city}Set Dist2 {InsideDoorReference to the city}.GetDistance {MarkerReference}Set DistTotal to ( Dist1 + Dist2 )
However, this might kick up a few issues.
This won't measure the complete distance as the crow flies. It'll probably be slightly longer than that, due to using the door to the city as a joining point. For example, if the player were standing exactly where the marker would be in the city, then it would have a relatively high value, where it should be 0.
A few ways to make this simpler would be to either set the marker where the marker would be in the city, but in the real worldspace (if it's set out like tamriel, where every city is empty in the Tamriel worldspace, and then has it's own worldspace which is actually the city) and just have 1 GetDistance; or find out the distance between the Inside Door and the marker (presuming the marker won't move), and then just adding that value instead of Dist2.
Hope that helped!