I'd have to agree with the documentation recommending the use of custom roles. When you create a custom role you have the options of customizing which Knowledge Base folders that role can access. You've described 3 types of roles - these can be created in SmarterTrack.
User A - Unregistered User
KB Articles - Level 1 folders only
User B - Custom Role
KB Articles - Level 1, and Level 2 folders
User C - Custom Role
KB Articles - Level 1, Level 2 and Level 3 folders
Once the Knowledge Base folder structure is mapped in a way that can relate to custom roles you would be able to achieve your objective.
Edit Role Options
Assign Custom KB Article Permissions
I hope this helps!