- Custom Post Types (there are several plugins in the repo for that)
- Custom Meta Boxes/Fields – a good library is the »RW Meta Box« set of classes
- Extend the search – there are several answers that show you how to do this in the [tag:search] archive.
- Role Management: IMHO »Members« does the job best + it’s well coded.
- Reducing the interface – I got an alpha stage plugin called »WP Strip Naked« for this. 1)
1) If you want, you can just take the parts that you need. If you think it’s a nice idea and maybe need it more often, just fork it and send a pull request. Happy to accept any cowork.