The problem here is more complicated that it seems to be. There are many places that you can create or manage categories - when you create and edit IContent item, Adding categories through Admin UI using CategoriesView, managing Categories controls that exist in your toolbox. Also it will be difficult to create a key identifire to associate your categories with a Role.
However if you want only to show certain categoris you should map the external templates for the desired module ( for instance - NewsItemNew and NewsItemEdit templates)
Then on Page_Load find the control with ID="Category" using recursion. After you find the control you can check the user role and deside whether to show ContentCategoriesFiled, but AddCategory method is private - so you cannot get the actual population of the drop down.
For the command panel - where all categories are created you could create a custom view and override CategoriesTreeView_NodeDataBound method where you can get all categories, but you cannot specify which of them will be shown. You should get the node text of the desired categories that will be visible and hide the other ones.
the Telerik team