You've mentioned that blending is not an option for you.
Assume that combining data with Custom SQL is an option :-)
So you could reduce the extract size to a bare minimum
by UNIONing your facts with your custom "Geo" Dimension
consisting of your custom Bricks and their corresponding ZIPs
(and may be other attributes as well).
With that datasource in place, you could define
Bricks' Geo Role based on ZIPs.
You should be aware of both Extract and Datasource Filters,
so they're not restricting your appended Geo rows in any way.
Please find the attached mock-up using Superstore.
Hope it could help a bit.