getnewaddress and watch-only addresses (importaddress) I am aware it is possible to use "importaddress" to import bitcoin addresses without their associated private keys.

For an online shop that uses "getnewaddress" in order to present a customer with an address, is it possible for "getnewaddress" to only ever serve up "watch-only" addresses?

Ie - I do not want the Bitcoin core wallet to create new addresses. I want to use "importaddress" to import 10k watch-only addresses.

Is the above possible? And, if so, what is the expected behaviour of "getnewaddress" in the event of all 10k watch-only addresses being used up?
I don't thing your approach makes sense. Why would you importaddress as watch only and give them out over getnewaddress? Do you try to missuse bitcoind as a address database (importaddress = store  |   getnewaddress = retrieve)?

If you need endless amounts of addresses, you probably like to switch to Bip32 (a.k.a HDWallets). There is a experimental patch for bitcoin-core (https://github.com/bitcoin/bitcoin/pull/6265) which would allow you to call hdgetaddress without having the master seed (private key) in the wallet.