The easiest part is to get the images published:
I would create a template building block that loops the folder and adds the images to the publishing package, with a specific file path.
Component mmComp = engine.GetObject(uri) as Component;
Tridion.ContentManager.Publishing.Rendering.Binary binary = engine.PublishingContext.RenderedItem.AddBinary(mmComp);
string publishedPath = binary.Url;
Item packageItem = package.CreateMultimediaItem(mmComp.Id);
package.PushItem(filename, packageItem);
Add this TBB to a CT or PT that you very seldom publish. Reason for this is that you just want to publish these images if you add new ones...
Not so easy/not tried is how to retrive them:
I would try to use the BinaryMetaFactory to search for the specific file path.
I'm more used to .Net than Java. Therefore the example below is with C#.
var binaryMetaFactory = new BinaryMetaFactory()
var binaryMetas = binaryMetaFactory.GetMetaByUrl(binaryUrl);
Hope this at least gives you an idea how to accomplish it.