The UC300ETH-5LPT has 49 digital inputs and 36 digital outputs which I think should be enough for any avarage setup, even if the machine has ATC and other things.
Also the UCCNC talks Modbus, so that could be used to further extend the number of I/Os for non time critical things and then it is possible to switch those I/Os from macros or plugins.