- Custom address_index (but limited to 2B possibilites)
No need to stop there. Your derivation path can have 255 additional levels to it after the master key
m, and each level can support 2
32 - 1 values if you are including hardened values. There are more valid derivation paths than there are private keys or seed phrases, by many
many orders of magnitude. You could pick a derivation path made up of 255 randomly chosen numbers between 0 and 2
32 - 1, and no attacker would ever be able to find your coins even if you told them your seed phrase.
The reason people don't do this is because it provides no additional security. Just as an attacker couldn't steal your coins in my made up scenario without knowing your derivation path, an attacker can't steal your coins in a real life scenario without knowing your seed phrase. Why choose to back up something in which it is easy to make a mistake with (long strings of random numbers) when you can back up something much harder to make a mistake with (seed phrases). In both scenarios you end up with the same amount of security and a back up you need to keep secure, but with seed phrases you also are far less likely to make an error and far less likely to lock yourself out of your own wallets.
If you are concerned about someone stealing your seed phrase, then either use an additional passphrase, encrypt it before backing it up, or use a multi-sig wallet. All are far preferable to rolling your own "security".