Hi Rafael,
Despite that OpenACS 4.x is not released yet I am already using it. Here is so far what I can share based from experience.
I put common images in www/images if 2 or more package use it or the image is used by static content. You need to put it somewhere common where in you can put in your adp the correct URL. You can mount any package at any URL, this is an advantage also a disadvantage in linking images to it.
I put images on packages/[package key]/www/images when only this package needs to access the image. Such images I use for example is a ticket tracker icons, etc. This way the use of relative href will always work.
I think in your case it would be better to put in www/images since its on a template which will be used in different URLs. I have also learned not to touch the www/default-template. I made my own template in /templates. On each subsite you can set the parameters on the default template. The main site is a subsite too so you can do this. Although my installation I created another subsite for my site, leaving everything to be still www/default-template. And everthing in my site to templated. See skins document on a demo of this.
You can also put your images in Content Repository. I have not yet done this. Although much of my content is a little bit ready once OpenACS 4.0 has a release tree in their code I will put my content on CR. Anybody who has done this please explain. I have some idea on it and small tcl code that puts content and gets content out. Although it would be great to have someone tell how to best do it.
Is there a way for me to contribute on such a faq or best practices doc? Make a thread first in the bboard like "what is the best way to run multiple acs sites". After a period of time the best practices are then compiled to a FAQ. It will be called something like "Best Practices in OpenACS". Topics ranging from Sysadmin stuff like installation to developer stuff like what is the best way to extend OpenACS 4.x