If dragons couldn't kill guards or civilians then why are they a threat? What's the point of the whole main quest if nobody dies and guards can solo elder dragons.
And yeah if you really want to avoid a town attack then don't fast travel to a town. Dragon seem to be on a in game timer. When a certain amount of ingame time has passed there is a very high chance of a dragon showing up. Some places also have an extra chance for them to spawn. Fast travel will make in game time pass as if you had walked there so travelling large distances with fast travel will increase chance of them spawning. If you are the type of person that always wants a perfect outcome with no casualties, you can always fast travel to a remote point close to a town and fight the dragon there. Once you kill one there will next to no chance of encountering a new dragon until a certain time has passed.
I don't think important quest npcs can die though they should all be essential unless you the player kill them. There are lots of civilians that can die though, and there family even has dialogue that will reflect them having lost someone close which is cool.
This is false, on several occasions I've had 2 dragons land at the same time, or one dragon attack me immediately upon killing another. Whatever the coding says about dragon attacks, there isn't anything in place to effectively prevent them just ganging up on you if they want.
..btw if you turn off shout cooldown, you can take on two dragons with nothing but shouts.. it is beyond awesome.