It wouldn't be hard to write such a system, I think using Drupal just for this functionality would certainly be overkill.
How would you check that a client is a retailer in-store? It'd be the same process online:
-> User's account is temporarily 'limited'.
Is the user a retailer?
Yes -> The account is set to 'authorised'.
No -> The account is either banned or kept limited
-> User notified via email
The only addition to the standard membership system would be a field in the accounts table called 'Authorised', with 0 for limited and 1 for authorised. The validation process can either be moderated by a real person, or some kind of online authorisation service.