format記法にhashを渡してキーから文字列を生成する方法があります。
format("%<foo>04b %<bar>05d", {foo:1, bar:2}) #=> "0001 00002" format("%<foo>#04b %<bar>05d", {foo:1, bar:2}) #=> "0b01 00002"
ネストしたhashを扱うのは相当に難しいです。
あえてやるとすれば
hash = {hoge:{foo: 1, bar:2}} format("%<foo>#04b %<bar>05d", hash[:hoge]) #=> "0b01 00002"
と言った感じになるのでしょうが、そこまでしてやる位なら#{}記法で変数埋め込んだ方が親切です。
・・・まぁ、これは例の%記法と同じ系統の魔界記法なので、脳からお汁を出したい場合以外は避けるべき記法と思われます。