I can program this for you in Wordpress - I already have a mental plan of what's needed:
- the user information will be stored in Wordpress posts
- when an user creates an account a new post is made, with an unpublished status (therefore needing admin approval). Also, a new Wordpress user is created, with access restricted by the Role Scoper plugin
- users will only have editing access to their respective posts (restricted by their payment status)
- searching, comments and the rating system will emerge naturally as a consequence of storing the information in Wordpress posts. Another plugin will come in handy here - WP-PostRatings