This is controllable through the Joomla! permissions.
Set up four user Groups say A-ug, B-ug, C-ug and D-ug and with Registered as the parent in all cases.
Modify the Users Groups settings of all three groups to ask the appropriate questions. Set Ranking of A-UG to say 133 and modify the Users Groups settings for ug-A to ask the appropriate questions as all the uploaders are members of ug-A and I presume that all Downloads are to have the same qustions.
Set Create & Edit permissionsfor ug-A on Cat A, Cat-B, Cat-C & Cat-D one cat at a time.
Set Create & Edit permissionsfor ug-B on Cat B,
Set Create & Edit permissionsfor ug-C on Cat C,
Set Create & Edit permissionsfor ug-D on Cat D.
Each time you set the permissions for a ug do a Save as that causes the propagation of the permissions
Never use a Deny as it will have unintended consequences.
All Cats will of course need Download permission for the Public UG - I presume they are to be publicly available, otherwise set Download Permission on the Registered ug.
There are variations on this set up depending on precisely what you want so if my assumptions are not as you seek please explain.
You might find the articles in the sectionhttp://www.jdownloads.net/documentations/category/access-controls-and-user-group-permissions