I am building many defense structures like towers and garrisons, but when attacked I never see villagers running towards the closest building that could defend them. The ones that run for their homes or houses are good. But I had a villager next to a defending tower that was behind a wall. That villager decided to run to nowhere, away from the helping tower, when attacked by a bear.
In general, it would be way more helpful and normal for villagers to run to the nearest protection type building than random when attacked. It would be also nice if garrisons would get a radius to defend, as in: designate a number of them that will exit the building and defend attacked villagers in their radius. And also make that villager run towards the people trying to help him. I mean, those villagers lived for some time there, so they should know the placement of their nearest defense structure.
Would also like to be able to set patrol routes.