I've achieved the same thing using a different approach.
Instead of uploading each rendition as a separate DAM asset, we instructed our authors to upload renditions directly to the primary asset (full resolution)[img]https://docs.adobe.com/content/docs/en/cq/5-6-1/dam/how_to_edit_metadata/_jcr_content/par/procedure/proc_par/step/step_par/image.img.png/1341321293000.png[/img]
For this to work it's important to define and instruct a specific naming convention. We used a suffix to the filename (ex: rendition_hero.png, rendition_thumbnail.png)
We then created a custom image component which would select the appropriate rendition based on the Sling suffix.
ex: /content/website/en/home/_jcr_content/image.transform.jpg/hero/img.png
The ACS AEM Commons "Named Transform Image Servlet" is a great place to see how this works. I ended up creating an additional transformer to grab the specified rendition if it exists, or crop/resize the original asset to the appropriate size for the component.
Finally we added a dropdown to the design dialog for relevant components where authors could select which rendition type should be displayed.
It sounds like the only thing missing from your requirement is a custom validation to verify that the Asset actually has the appropriate rendition.