I can answer some, but not all:
**Keywords:**
I use Lightroom for tagging my photos, with keywords in hierarchy within it (for example, Events>Event1, People>Family>Person 1, People>Friends>Person 2).
I believe, on Export from Lightroom they are written as:
Events, Event1, People, Family, Person 1, Friends, Person 2
Zenphoto imports them this way too.
So all tags within hierarchy are present, but in a plain list.
**How many Tags:**
No limit, I believe.
I tag my stuff extensively, and never had any problems.
Might take longer to process image on import or page on display though.
If you use a really tremendous amount of them - probably avoid listing ALL the tags in the database for all the photos, but a lot of tags for a single image may pose only a problem for theme design.
One of my sites currently has around 3000 tags and page with all the tags takes a second to populate the list.
**Dynamic albums:**
It's stated in gallery manager that you can't have subalbums to a dynamic album (either normal or dynamic), as effectively a dynamic album is just a preserved search with different parameters, so it can't have a child directory for it with physical files.
Maybe it's possible to code smth to make a sub-dynamic-album for a dynamic album, but I've never tried.
You can have a physical directory though with multiple dynamic albums within. So, for your case with events it may be:
/Events - actual album on server
--dynamic-album-file-with-search-for-tag-event1
--dynamic-album-file-with-search-for-tag-event2
--dynamic-album-file-with-search-for-tag-event3