1. No, there is not. It is not possible to store custom fields within Authorize.Net.
2. You can export the customer address but I'm not sure what you are referring to as custom fields. You can export any non-secure data held in the transaction details or a CIM customer and/or payment profile.
It sounds like the CIM (Customer Information Manager) API would be what you are looking for.