Even if you could compress the tags file vim would still have the overhead of uncompressing it for searches.
Your best bet is excluding what you don't need. Most of the /usr/include/ are probably dev files you needed to install source packages.
You're better off creating a tags file relevant to your development projects. Basically opt in to a directory when you file you cant tag jump to it. Rather than build an enormous list of irrelevant tags. Even if your machine is fast enough to process it you will still have to deal with duplicate names.
If you want to suck in everything you might be able to use --exclude to chop it down to a manageable size. ie. a blacklist rather than a white list approach.
man ctags
/--exclude <-- to search for exclude
I'd personally do something like
`ctags –R --c++-kinds=+p --fields=+iaS --extra=+q \
-f ~/.vim/commontags /usr/include/lib_i_need_a /usr/include/lib_i_need_b `