Hi,
You can put the product code you want for the base item.
Because you can edit the product code, you can do nearly all you want, the single rule is that the product code must be unique.
The base item can be "free" without any problem. The customer wouldn't be able to buy it, it's a product with variants so, the user must select a variant.
In variants you can override a lot of fields, like the price. It is an override so it replace the value of the main (based) product.
I don't really understand your problem with the price in the front-end. Maybe with a screenshot or an example, it could be clearer.
Regards,