User login as another user, specific list

We need a plugin to have users be able to login as other users, from a specific list.

Ex;
User A needs to be able to login as User B, but not User C.

User D needs to be able to login as user C, E, F but not B.

Essentially we're trying to find a way for sales representatives to be able to place orders on behalf of their clientele. The primary reason we need it done this way, as opposed to entering a coupon code or something of that nature is due to integration with QB, and tracking of orders.

Hopefully this is legible enough for an answer.

Regards,
Nick Eldridge