@jeremywmccarter Coming from similar experience but less I/O, I would definitely use the Particle Photon - and I would start with a system architecture block design where you identify the main solution components and do an I/O count and bus (SPI or I2C or CANbus or Serial) decision for each. It is very easy to run out of pins on the Photon! There are pros and cons for each bus type (@peekay123 reminded me recently that there is wikipedia where you will find good comparisons between these interfaces ). Also, unless your client has an unlimited budget then using all those boards may not be an option and designing your own motherboard will be necessary. SPI devices in my limited experience need to be no more than 6-8cm from the pins. I2C can be further and work reliably. Look at Ti TCA6418E GPIO I2C expander or NXP family or MCP23017 (16 I/O I2C) or MCP23S17 (16 I/O SPI).
Particle IDE has community library for the MCP23X17 and you can have up to 8 of these devices (using address selection on each IC) so up to 128 I/O. This is a nice solution as the I/O control is controlled using the same pinMode and digitalRead and digitalWrite commands.