The currency and payment details can differ for various opportunities under the same customer. So, the system must use this data per opportunity, and not per customer - which is available only in SF. Is this possible?
Yes this is possible. Currency setup should ideally match both SF and Xero instances. Currency and payments details will then be fetched from opportunity or custom object that you are using for creating Invoice