I dont feel like getting into a argument over pigeons, of all things.
So, my final opinion on this matter is this:
Such a feature will only be at most an effect that'll cause a player to go "Oh, that's neat".(if they even notice the bird). The player
might be able to figure out who's sending or recieving messages if they happen to be at the right place at the right time. I mean that's cool and all but i feel it might not be enough for a feature that may not be easy to code.
Or you could just check if the creature can fly in world gen calculations and when loading them.
That's exactly what i'm talking about here
It's much easier (and computationally cheaper) to disregard all worldmap obstacles and if needed, simply put the creature some z-levels above all solid tiles in the loaded area, if it enters the loaded area.
You check whether a creature can fly, if yes: don't consider overworld map obstacles(mountains, seas) and just path over everything, if ever encountered, whether by a fort or an adventurer: Enter the map somewhere it makes sense for a bird, I.E. so high up in the sky that no one ever has even the faintest chance of hitting it with anything or even noticing that its there.