People always forget about the client PCs. If you have a 20Gb mailbox, you'll also have a 20GB ost file, unless you're running online mode. This will be the cause of most end user experience frustrations.
Exchange 2010 was designed to run on jbod in a dag now IO isn't critical. They really reduced the disk IO requirement and with multiple mailbox database copies single disk resliency isn't required (though I don't share this opinion). They also recommend 10MB/ram per mailbox on top of 4GB of ram so you'll be looking at about at least 5GB of ram for 100 mailboxes. I'd opt for no less than 8GB for 100 users but rams cheap so put in as much as possible.
Exchange 2010 was designed to run on jbod in a dag now IO isn't critical. They really reduced the disk IO requirement and with multiple mailbox database copies single disk resliency isn't required (though I don't share this opinion). They also recommend 10MB/ram per mailbox on top of 4GB of ram so you'll be looking at about at least 5GB of ram for 100 mailboxes. I'd opt for no less than 8GB for 100 users but rams cheap so put in as much as possible.