Thanks everyone!! All comments very helpful. I think the first problem was, in fact, related to lingering cache issues. I removed the "resource_tree" permission and did a lot of fiddling and eventually got the elements tree to display by itself with all of the elements the restricted user is supposed to see. IOW, it's working right.
The "permission denied" problem is still occurring. So, to be clear, here is the list of context access permissions that are currently set:
change_password -- change_profile -- edit_chunk -- element_tree -- frames -- help -- home -- list -- load -- logout -- menu_site -- menu_support -- menu_user -- save_chunk -- view_chunk
The only elements the user can see are the two chunks he can edit. The other tabs are not visible.

None of the other element types are visible, nor is element category2 which contains all of the chunks he's not allowed to see.
You can go in and make a change, click save and you get the "successful" message. Then before coming back to the normal dashboard display, the error window "permission denied" shows up. It has the feel that something is happening in the MODx logic after the chunk is successfully saved that requires a permission that is not active. Some view option that needs to be set? There is no error when the user first logs in, so it's hard to guess what would come after saving a chunk, before displaying the dashboard, that doesn't happen when you log in. Posting a log record? Trying to do something with the resource tree or file tree? You can see that the element tree as been rendered prior to the error message being thrown.
I flushed permissions and sessions, deleted the contents of the core/cache directory using my ftp client, and cleared my browser cache. I've also done a lot of fiddling with permissions that look "promising" (read: more likely than the other minuscule probability permissions).
Thanks again for pitching in with your help. I'm willing to keep working on this as long as someone is listening.
Rick.