I think I ended up finding my solution in syntax splicing. I certainly have much more to learn with in regards to syntax splicing, but the following code seems to have achieved what I was looking to do:
(define-syntax (example stx)
(syntax-parse stx
[(_ val:expr ...)
#`(begin
;; Some code ...
#,@(for/list ([a-stx (in-list (syntax-e #'(val ...)))])
(quasisyntax/loc a-stx
*** some syntax ***)))]))
Again, no idea if this is a good idea/if this is how syntax splicing was meant to be used, still trying to figure that out myself. But if anyone else is looking for a potential solution, it achieves what I originally set out to do