If you set up a client as a reseller (allow domain creation etc) then through plesk they can only create the subordinates (i.e. domains).
However, the customers under the reseller will be able to log in to the domain through plesk, by logging in as domain.com (the "Domain Administrator") instead of the Client that is associated with that domain.
If you really needed a reseller to be able to create clients, each having more than one domain associated with it, I would look at the XML API. You can create an external system which allows a reseller to add clients and domains to clients. You'll have to code it to keep an eye on limits and build up an interface to allow the reseller to do almost anything to those clients as they won't be able to do it through plesk (not asociated with their client account).
All in all, I would hands down go for the former option. Just get the reseller to set the options under the Domain Administrator page for a domain and the user will be able to log in as the domain name to administer it. That way the reseller will have direct control over everything in his account, including all of the domains he sells.