I assume you are using SQL of some sort. If I understand your goals correctly, you want to be able to search (through drop-down boxes) by two criteria: category and theme. This would involve creating three tables: the master file, one for three levels of category, and one for themes. The category file could be done in two ways. The first way would be to have all subcategories in a single row (Category1, Category2, Category3, FileID). The second way would be to place each category in a separate row (Category, FileID).
Hm. It seems to me, after some reflection, that you want to search by category in the drop-down box, and that you want to see a list of files under each category. Is that true? If so, you would a) build the list-box (a tree would be better, if you are using a Microsoft product, or if you system provides tree controls) containing the file reference under the categories and subcategories, or b) allow the user to (double-)click on a category/subcategory to get another box containing the list of file references.
Hopes this helps a little.