t0-t31 and i0-i31 do sound very similar, although off the cuff it sounds like you're designing for a processor about two or three orders of magnitude larger, like 400,000 to 4 million transistors rather than 4000.
The reason I was thinking XORs instead of adders is that if you have, say, 16-bit addresses computed from a 16-bit base pointer and a 5-bit offset, it's true that you only need five full adders, but you still need 11 more bits of carry chain (or 10 bits if your 16-bit addresses address bytes and your offset units are 16-bit words, as is usual in Smalltalk-80).