There is absolutely no reason you can’t have 2 digit extensions if you want - FreePBX is far more flexible than you give it credit. Feature codes always start with a * so there is no conflict between a *nn code and a nn extension.
(Hint: When someone says they’ve been doing something for ages it’s probably not a good idea to tell them they can’t/shouldn’t do that unless you can point to some specific documentation to back up your assertion. And if you can do that in this case I’ll retract my comments, but I just hate seeing bad/wrong information being put out there; there is far too much of that already!)