If you want to generate the entries dynamically, lists won't do it as they are static, as you found out. You have two options already available in APEX: either use a dynamic List of Values (LOV) or a normal SQL report. If you use a report, then you can change the template to something like a vertical look or unordered list. In either case, you will have to generate the code for the images themselves.