I'm planning to create an automated homebrewing system, and as you can imagine, this requires quite a few relays. If I require > 17 GPIOs for my relays, do I need two RPi's, or is there a way to get more out of a single Pi?

I'd go for I2C chips as well, something like the PCF8574 or the MCP23017. I've had issues with 74HC 595 and relays, causing random state changes whenever something touched the circuitry. Using I2C chips you will only get a state change when exactly the correct data stream is sent. You can buy them fairly cheaply all over the place.

You will also need to provide a dedicated power supply for the relays. 5v relays consume about 50mA each when running, so 17 will use 850mA plus the power for the Pi, so well over 1A.