You cannot register producers at runtime. You can create "real" producers using an extension at the deployment time but you have to know the return type upfront.
I also tried another approach. It look horrible, but works perfect.
In Extension I observe ProcessAnnotatedType event where for each interface I create a class using ASM with a static @Produces method. Instead of creating AnnotatedType for interface I set annotated type of event object to the annotated type of newly created class. What issues can this approach introduce?