I see what you are getting at.
1 would indeed be very difficult, much more so because we don’t expose many of the functions you would need to do this to the app. Since we use modular firmware, functions have to be added to the swap space and wrappered, this would be tricky. We do have the option now to store data on bluz, and hence the gateway as well, so you can local cache in persistent flash. But still, this would be very tricky due to the functions of the underlying firmware not being exposed.
Number 2 is probably your best bet. You could pretty easily change the underlying firmware to connect to your boards and talk to them. You would be programming directly with the Nordic SDK, but they have good support and documentation.
3 would be tricky most likely. Are the boards you already have using Nordic nrf51? If so, it is possible, though it would probably require some tricks if you didn’t already have the external SPI flash. If it’s not nrf51, it would be much more difficult.
A 4th option would be to simply use bluz as the peripheral devices and replace your current boards Not sure how invested you are in your existing BLE devices, but this would be the path of least resistance from an integration standpoint as everything is already integrated.