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
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).