I am designing a custom Uno which I hope to sell at some point. I have included the ATMEGA16u2 as the USB chip, but I don't know if I need the ICSP header that is included on the original Uno for programming the 16u2. Does the ATMEGA16u2 need to be programmed before it is used in this manner, or does it work out of the box?
I'm not sure; there is something called Atmel flip but not sure how it works; it's my understanding that you only have to ground a pin of the 16U2 to get it in a mode in which you can upload the firmware. https://ww1.microchip.com/downloads/en/Appnotes/doc8457.pdf
It's not a bad idea and it does not need programming. But I'm not sure if you can get your hands on them. FTDI chips might be a better option.
I don't know which one I would try; on a Windows PC you can find them here:
I don't know anything about legal stuff. I think that you will have to ask permission / take a license and probably pay for the use. A VID is a Vendor ID identifying the vendor and you're not that specific vendor.
I think yes, you need it.
During experiments with the board, the user can accidentally ruin the firmware and then the board without a ICSP header will turn into a brick