Whether you need a UPC product code depends on the type of product as Amazon wants everything categorized properly. If it doesn't fit in any existing category I believe you can put it in the Everything Else category used by antiques and such without codes.

We normally don't drop names to paid services but there's no free options in this case. I know the GS1US is expensive, $750 to join and $150/year maintenance just to get a UPC code. BuyABarCode will sell you a barcode for less than $100 and has some cheap options if you just need a few.