In the above sentence if both もし and たら translate to "if", why are they both used?
Does あげてくれませんか mean "Won't you do it for me"?
もし is a word used to make the if-statement softer and more hypothetical. It's most like saying "if, by any chance, ..."
If it's alright, could you show me around?
It's just as correct to say よかったら by itself in this sentence but in the context of a request the もし makes it seem like you're showing more consideration and understanding that your request might not be granted.
In the case of a statement it makes the situation seem more hypothetical.
If (in the off chance) it's not there, talk to me
To answer the second question: to say あげてくれませんか would be to say "would you do that for someone else?"
The あげる is for an action being done towards someone away from yourself. The くれませんか is to ask someone to do something for yourself (so it might be a little confusing).
In the end, this speaker is asking someone to give a tour of a famous place to someone else but only if it's convenient.
してあげませんか can't mean "won't you do it for me", only "won't you do it for him/her/them/some other person. So あんないしてあげませんか would mean "won't you be kind enough to show him/her/them round?". あんないしてあげてくれませんか would mean "won't you do me the favour of doing them the favour of showing them round?" So this sentence means "If it's convenient, would you, as a favour to me, do them the kindness of showing them round some famous places?" Maybe this would convey the feeing: "If it's not too inconvenient, could I ask a favour? Would you mind showing them round some of the famous sights?"