We are working on supporting the copy() function in outputs – combined with the reference() function should help with these scenarios. We will email you once it is completed. Feel free to reach out if you have any additional feedback.
Thanks for the valid suggestion. Your feedback is now open for the user community to upvote which allows us to effectively prioritize your request against our existing feature backlog and also gives us insight into the potential impact of implementing the suggested feature.Rick Shahid commented
I have run into this restriction as well. It would be a great enhancement to allow copy count to be 0, which would enable reuse of conditional resource deployment in an ARM template