Hello,
I respond you via your submitted ticket, but I will pass my answer also here. Maybe it will be helpful to other users as well.
Current design of categories doesn't allow this by default. You would need to use workaround and customization for this. Firstly, you will need to create categories with blog name prefixes: blog1_category1, blog2_category1, etc. This way you'll be able to adjust Category list webpart by setting Where condition with prefix checking.
Speaking about category choosing by editor, this will require customization of Multiple Categories Selector in:
~\CMSAdminControls\Categories\MultipleCategoriesSelector.ascx. Basically, you will need to adjust Unigrid(s) in there by adding WhereClause property. You can check current document in code-behind, what blog does it belongs to. You could use
GetUpperTree method to check whether there is appropriate blog with the same name as category prefix in the content tree structure:
protected virtual DataSet GetUpperTree(
string columns,
bool allCultures
)
This will enforce that there will be listed just appropriate categories available for appropriate blog.
Best regards
Ondrej Vasil