If the serial pins on the RPi GPIO header are not sufficient (I believe the main 40pin header only has tx and rx), you can always plug in an FTDI or other serial adapter cable into the RPi's USB port, and you'll get a complete serial port with all the extra signals. That will almost certainly work fine.
An alternative that you might investigate is JTAG programming. There is a branch of OpenOCD that works with ESP32, so you should be able to use it to JTAG program (and debug!). If you build it on the Raspberry Pi and use "LinuxGPIO" adapter, you can choose whichever GPIO pins are convenient for you and I bet it will work. I do exactly this for Cypress PSoC and it works surprisingly well.