Use this Macro and add it to the ribbon as a button. Presto! Categories work for IMAP mail. Of course, they're not synchronized to the server, but they'll stick in the local PST file for your IMAP account.
Public Sub Categorize()
Dim sel As Outlook.Selection
Set sel = Application.ActiveExplorer.Selection
If sel Is Nothing Then
Exit Sub
End If
Dim obj As Object
Dim selCats As String
Dim gotCats As Boolean
For Each obj In sel
If Not gotCats Then
obj.ShowCategoriesDialog
selCats = obj.Categories
gotCats = True
Else
' ShowCategoriesDialog updates the first one free of charge.
' We handle the remaining selected items ourselves.
obj.Categories = selCats
obj.Save
End If
Next obj
End Sub
I wrote a COM add-in to sync categories with IMAP servers that support custom flags, but I'm not going to share it. That'd only give MSFT an excuse to further delay implementing this themselves.