We like dumb questions. They're usually easy to answer...except when they're challenging dumb questions.
The only difference between Shell and FTP accounts is that Shell gives you one more option on how to log in.
1) If you want JD to be the sole user of that one subdomain, that's easy. Manage Users, then create a new User. Then Manage Domains and create a Fully Hosted (Sub)Domain owned by JD.
If you want JD to upload to someone else's subdomain, that's more difficult. You still need to create the user, but then use the re-map trick to give him one directory in a subdomain.
2) I should have read this first. Yeah, do what I said in the first part of #1. The only catch is that you won't be able to share complete control of his subdomain. Each domain/subdomain can have only one owner. Sharing ownership can't be done without jumping through a bunch of hoops. However, if you created JD as a user, the easiest route is for both of you to log in as JD.
It sounds like you created all your (sub)domains with yourself as the user. When I create domains, I create a user for each domain. That user usually owns the subdomains, too, but that's just the way I do it. Every subdomain can have its own user as well.