Folders are just Linux subdirectories, so you can nest them as much as you like. The only issue is that during navigation there will be at least one page refresh per nest level. On the other hand the contentlister only displays 6 items per page, so deep nesting may be more efficient than a flat structure. Note that there is no need for a manifest.xml in every folder. If there is no manifest the folder will show up under its folder name with a generic folder icon - and this may be exactly what you want. If you want to add an icon and a description of the directory, then a manifest would allow this.
I suggest nesting everything you describe under Books. That way you can also add Programs (say) to your CF card, although that adds one extra level to your folder structure. If there are only a few genres, that level could replace the Books level (i.e. genres would then potentially include "Programs").
If you don't want to customize the book icon and description, there is again no necessity to put each ebook file in a subdirectory with a manifest. However, if you don't do this programs like MobiPocket Reader will make such a subdirectory and move the ebook into it when the ebook is first opened. The advantage of doing this yourself is that this give you control over what gets in to the manifest. This very last level of the hierarchy is invisible to the contentlister, i.e. in your 1st example you would not see book01_dir and book02_dir in the content lister but rather the descriptions in their manifest files (which refer to the ebook files) and clicking on them would bring up the reader for that ebook.