If you need to use some GPIOs for your own purposes, then you won't have much other choice to use a module such as ESP-03
Sorry to chime in late, but this was a top hit on Google! Another option is to use an I2C GPIO expander chip.
Because I2C wants the bus lines to be tied high when idle, a 4.7k or 3.3k pull-up on each of the GPIOs would be about right. When you need to drive the LEDs, use pins 0/2 for I2C to tell the GPIO chip what to do.