То что не придется каждый раз переизобретать велосипед радует. Начиная с 95го Сам многократно переизобретал Binary XML для решения разных задач. Наличие стандарта и отлаженных Open Source реализаций будет значительно экономить время в таких случаях. Однако "В отличие от XML, Protocol Buffer не пердназначен для чтения пользователем." значительно ограничивает сферу применения. Вспомнить для примера Microsoft Structured Storage который применяли в предыдущих версиях MS Office для формата файлов - тоже в некотором смысле иерархическая OO БД на подобие XML но в бинарном виде с открытым API
Теперь можно посмотреть что стало с форматом файлов в последней версии офиса.
Не ясно как у Гугла обстоит дело с XQuery и с XSLT. Возможно было бы правильнее разработать специальный архиватор для сжатия текстового XML и позволить работать со сжатым форматом напрямую, например похоже это сделали Microsoft в chm для HTML
Я обычно применяю следующий формат
тег - 4 байта
размер блока данных - 4 байта
данные с указанным размером
следующий тег ...
в блоке данных так же можно определить такую же теговую структуру.
содержимое блока данных определяется тегом. Если тег определяет сложный объект, то внутри блока данных идет такая же теговая структура, внутри некоторых тегов которой могут быть дополнительные вложенные теги - вобщем то тот же самый XML
здесь
http://www.shuklin.com/ai/ht/ru/ai00003f.aspx на рис.1 описано как на основе такой структуры я хранил нейроны в ранних версиях Cerebrum а на рис.2 нарисовано, как это дело можно связать в сеть.