It certainly is possible, though it entails a lot work.
A plugin will have to maintain table as follows.
cat_id | password
----------------------
1 | lkjakne
2 | opi23kn
The plugin has to provide an interface in admin panel to allow admin to maintain the table above.
The plugin then registers the following set of procedures to template_redirect hook
1. Check if current page is Category page or Singe Post page.
2. If condition 1 is true, check the table if password is assigned for current Post's category (Single Post page) or active category (Category page).
3. If condition 2 is true, check cookies if password is not previously entered.
4. If condition 3 is true, redirect the page to password form.
5. Once valid password is entered, record that to cookies and redirect to previous page (Single Post or Category page).