I know this is an old thread, but I wanted to do almost the same thing (I actually just wanted to have my IMAP client fetch all messages except the ones that Google placed on the 'Promotions' tab), and came up with this approach.
I set up a filter for the messages that I do not want to retrieve by IMAP (my search is
Category:Promotions) and chose "Skip Inbox" as the action of that filter. I also checked the settings on the
Settings:Labels page to make sure that
All Mail was not marked as
Show in IMAP.
This means that these messages are never available for my IMAP client to download. The minor drawback is that the 'Promotions' tab is always empty, but if for some bizarre reason I want to see what is in there, I can do a search on the category: the messages are still available. You can even set up the labels in the side-bar to give you access to the 'Promotions' messages if you want.
Hope this helps someone.