Is there a way to extend the deterministic sequence of wallets to have more keys (without having to backup the wallet)?
it depends on what you need.
if you only occasionally need a few more keys, use the last address of your list each time you need to receive a payment;
when you receive that payment the wallet will generate 5 new keys (instead of just 1 if you use the first unused address of your list.)
if you systematically need more, you can change the gap_limit parameter in wallet.py
you will not have to backup the wallet, but when you restore it you'll need to remember the new value.
(the gap limit used to be a user preference, but I removed it from prefs for safety)