I'd even love to see it more complex than this, so that both a user and an admin can go in and allocate the payment on an invoice by invoice basis (as they can now), but more specifically to individual items on an invoice. So for instance if an invoice includes an event registration + fee for a ticketed event, a member could pay for the event registration piece specifically using their employer's payment method (whether credit card or check) and the ticketed event with a personal payment method. As it stands now, the first payment is applied proportionally to all invoiced items, which means individuals whose employers are specific about what they should be paying for are technically not in compliance.
In general, though, I'm in support of payments being applied first to outstanding dues invoices, and then to other outstanding invoices