Well, an AVR chip rather than a whole Arduino.
And the code might look like this:
long lastVals, lastTrigger;
void checkVals(){
long now = millis();
long newVals = (long)PORTA<<24 | (long)PORTB<<16 | (long)PORTC<<8 | (long)PORTD;
newVals &= ACTIVE_INPUT_MASK;
if (newVals != lastVals) {
lastTrigger = now;
lastVals = newVals;
digitalWrite(OUTPIN, high);
}
if ((now - lastTrigger) > ONESHOTTIME) {
digitalWrite(OUTPIN, low);
}
}
Call checkVals() regularly. And of course you need some more code to set up the ports initially, and you need to specify your constants.
This will let you deal with up to 32 inputs, depending on how many digital IO pins your particular AVR has and how many you need :-)