Yes, the account that you're logged in to when you put the reservation on hold doesn't matter. All that matters is the account that you're logged in to when you actually ticket the reservation.
So have person B log in to their account, pull up the reservation, and book it. The miles will get pulled from person B's account.