I’ve come to this article in ESP8266 forums:
https://www.esp8266.com/viewtopic.php?f=32&t=4094
User @h4rm0n1c explains in detail what pins on ESP12E are for and how/if they are usable for end user. Sadly most of them are not, but two CAN be made usable. Some soldering skills is required, though. I succesfully made a modification on ESP-201 module and now both GPIO9 and GPIO10 are available for use, while program update still goes flawlessly. As i already explained in above forum topic, the point is that because of specific flash access type pins D2 (GPIO9) and D3(GPIO10) are in fact “hold” and “write protect” and not data lines, so those two pins can be tied permanently to +3.3V, so two GPIO’s are then free.
Now, GPIO10 (“write protect”) can be actually used even without modification. The point is that during normal use ESP8266 chip only reads data from flash anyway, so it really doesn’t matter if state on that pins is high or low. Potential problem would be only if during FW update this pin would be held low via external components – that could prevent flash /program update. “Could”, i say, i didn’t test it., though.