As part of multicurrency implementation where each product had a custom price per all currencies being used at the shop, we had created a custom field plugin which is capable of setting a different price per each currency selected. The default price of each product was set to zero and purely attribute prices were used. The plugin works also in a single currency set up where you can easily add more attributes to the product the most simple way.