As has been noted you need a network running first, no matter what the final programming solution is. That could be I2C, RS485 etc etc. Anything that allows multi-drop. But assuming that's in place and also assuming we are talking about reflashing the chips (because just sending new parms over I2C is hardly worth talking about
Each node has a serial Flash/EEPROM/MRAM/FRAM/SRAM (let's call it EEPROM for now), part of the normal running code checks the network for a "burn me" command, having got that it reads a HEX file from the network and stores that file in EEPROM, any one or all of the nodes can do this at the same time with an appropriate protocol in place although for error reporting it might be better to do one at a time, makes no difference to the operator as there will be a program written on the PC to handle this all as a single operation.
When the nodes have successfully received and stored the new code they set a flag in the EEPROM and jump to the bootloader.
The bootloader checks that flag and reflashes the chip or not according to it's state. After flashing it clears the flag.
Another option would be to use a chip that allows code execution from RAM, I think that all ARMs can do that, in this case your "bootloader" is the main flashed code, it does similar to above then jumps into the new code in RAM. That code has to also sniff the network for the "burn me" command or maybe you have a hardware signal on the network to force the chips into the bootloader or even something like a timer that detects a break condition on the network and resets the chip. For that matter some UARTs will do that so no external hardware required.