Can you trash fortress indefinitely with donate?
No, because you trash all cards simultaneously.
From the Dark Ages rulebook:

When two or more cards are trashed at the same time, such as due to Count, first trash them all, then pick an order to resolve things that happen due to trashing them.

So with Donate, you must trash all of the cards you want to trash at the same time; and only then do any trashed Fortresses trigger and return to your hand.
There is also a ruling for Chapel, which uses basically the same wording:

You choose all the cards you want to trash, and then trash them at the same time; you don't trash them one-by-one. This matters for interactions with Dark Ages cards with on-trash abilities.