The subaccount size is 32 bytes. I think this size is large enough for your purposes, right?
You can find a code snippet to compute public keys of canisters (and therefore also Bitcoin addresses) here. I hope this helps!