1) In the eCart object panel, you would need to select the available USD option, you can edit the symbol $ to R$ though.
You will then need to edit the code that transferees the transaction to the gateway to us the BRL currency code instead of USD.
2) You would need to hand code the logic to hide the add to cart button if it has been purchased, this is not directly supported.