According to §1.7 (Pulse-Width Modulation) of espressif.com's ESP8266 technical reference document, “PWM frequency range is adjustable from 1000 μs to 10000 μs, i.e., between 100Hz and 1 kHz.” That range is shown in other sections of that reference, and in other ESP8266 documents as well. I don't know whether that range reflects any hardware limitations, or whether the PWM APIs enforce such limits or can be operated outside them.
Depending on what your intent is, you might instead consider use of UART capabilities. For example, if you set the UART data rate to 2.5 MHz and transmit a 110110110... binary pattern synchronously, you will have 800 ns high alternating with 400 ns low. [I've seen references to use of USARTs on ESP8266's but don't know with certainty whether synchronous protocol actually is supported.]
The I2S subsystem mentioned in §1.5 and described in §10 of the technical reference document also may be able to generate a bit stream as desired. As noted in §10.2.1.5 one six-bit field selects an input clock prescale factor, and another six-bit field is used as the frequency divider of the communication clock signal.
Edit 1: As noted in cranphin's comments, cnlohr's esp8266ws2812i2s github page provides code that uses the I²S subsystem and DMA to drive WS2812 LED units. Using DMA (direct memory access, ie transfer of memory data under control of a subsystem other than the CPU) means that once the CPU has set up a data buffer for a new display, it can turn actual transmission of the buffered data over to I²S / DMA and then go on with unrelated tasks while transmission occurs. Note, cnlohr's page links to a youtube video that illustrates and briefly explains the process.