I thought the Colossal Headbutt was a good a solution as any for making a dragon capable of attacking fortress. By bashing a wall outside of the fortress, the dragon can make the fortress have internal stress, dropping rocks and such onto unfortunate dwarves. Kind of like Smaug in the hobbit. (again)
My reasoning for multiple tile creatures goes as follows: Bigger creature are harder to kill since a large creature has much longer reach than most creatures. Anything it walks on is likely to die, and something like the Hydra can attack anything that is within striking distance. Granted, most Megabeasts can't enter the Fortress with such huge sizes, but that is why we can get creative - the solutions to such problems can improve gameplay*. Furthermore, such huge megabeasts can't captured by the traditional cage, because of their size. Beyond what I have said, though - I feel multiple tile creatures would further help the game take on it's own style, to make the creatures in the game feel more impressive.
I don't want just Megabeasts to be multiple tile. I want elephants, whales, bears, and minotaurs to be large in the game world. However, Megabeasts are the best creatures to try out the concept on, since they would be the most affected creatures.
*For example, the hydra can poison the surrounding land around the fortress, preventing new trees from growing for years, and ruining the local water holes. So rather than being an immediate and obvious threat, the Hydra can cause the fort's long term prospects to go down when it settles in the area, and preying upon the local life.
Neonivek: It is true that dragons should gain experience from fighting, but I think the biggest factors for a Dragon's growth is how long it has lived, and how much wealth it has acquired without injury. Maybe each 'stage' for a Dragon could require an combined amount of gained wealth, experience, and age?