With Payments Standard Subscriptions you can't change the amount billed. Using Recurring Payments through Express Checkout you're able to change the amount but only by 20%.
If you set up a billing agreement through Express Checkout you can use the Reference Transaction API calls to bill a customer whatever amount you need to. There are additional features that need to be enabled on an account to allow you to use Reference Transactions.
In the SetExpressCheckout call you define the billing agreement terms and when you submit the DoExpressCheckoutPayment API call you define the exact same billing terms that you included in the first API call.