I like this idea. To keep it from being too OP, only the weaker megabeasts should actually stick around and help fighting (you know, cyclopes, ettins, Billy Bitchcackes type of guys) while the stronger ones would be content with their backpacks/dwarven sacrifices. Hell, let's make them a bit of a bother too: Say a bronze colossus comes by and demands a yearly tribute of socks, and you yield. Then, every year, he comes back, takes his socks, probably kills a dwarf or two along with anything else that might come by. If an elven caravan ends up coming, then they're shit out of luck because Ichtors the Bronze Colossus is here and he wants to play. And this shouldn't happen all the time. I think the likelihood should depend on the savagery and/or on how pathetic your fort is.
Once we fix loyalty, your parent civilization might decide that paying homage to a megabeast isn't their style and cut off ties from you. They might even attack you if your megabeast ends up wrecking the dwarven caravan.
This also gave me another idea: Wandering adventurers and mercenaries. Say you're in an evil biome. One day, a group of crusaders stops by your fort and offers their services for a year in exchange of a place to stay. You can't control them, but they're all really good military dwarves and they'd be off after a year, or if you actively decide to kill them or something. If you decide to turn them away, then they'd just pack up and go. Some mercenaries and adventurers wouldn't be so nice though; if you don't let them stay, they'd attack you.