Considering these requirements:
40 modules or sensors (one movement/presence sensor or one windows/door open/closed sensor)
read state (boolean, or 0/1) of all modules as fast as possible (once per second would be ideal, but once ever 2 seconds is acceptable)
keep list of sensor states in memory at all times
send the status update via usb cable to a pc
receive commands via usb cable from a pc and reply
maximum length between the arduino and a sensor - 50 meters
can this be built with an arduino-based system? or are these too many sensors?
Sensor details:
hall efect sensors for doors and windows http://www.sparkfun.com/datasheets/Components/General/Hall-US1881EUA.pdf
motion sensor for rooms
Updates: 1 - hall effect sesnsor added, looking for motion sensor