You can essentially do whatever you like, in part by
customizing the filename structure in your archives (look in Weblog Config).
This is like true confessions, but here's what I'd do differently if I were installing fresh or starting over. I don't think it's as complex as you envision.

I'd
dirify my archive filenames. This is a great choice to make at the beginning so you don't leave a trail of broken filenames behind you later.
I'd store photos and images I use in entries in folders by year - it's easy to do this when uploading, and it keeps a lot of loose files from floating around. I've never had occasion to go back and retrieve one, so I don't know if I'd do anything other than make them tidy.
I'd store images and photos used in my templates in a separate folder, called something like "common" - while I already do this with images in the designs themselves, I haven't been so good about the buttons and other image links that appear in the sidebar. These change more frequently, so I'd also do a better job of naming them meaningfully after I download them and put them away.
Finally, I already store code snippets and includes in a folder helpfully called "includes" - I use this folder often, so this was a good choice. Keep in mind that any code snippets you have that use MT tags will need to be processed by MT before you use it on your site (if you have your sidebar as a separate file so you can use it on every page of your site, for instance). Just make these snippets into index templates and set the output path to your "snippets" or "includes" directory.
This was a lot of semi-helpful information - the short answer is that MT will support the directory structure you think will work best.
Does that help - sort of?
Donna