Check out my plugin Bainternet Posts Creation Limits
this plugin helps you to limit the number of posts/pages/custom post types each user can create on your site.
Its just what you need.
Update
open up bapl.php and in bapl_limit_post_count function change on line 44:
if ( current_user_can('manage_options') ) {}else{
if (isset($postt[$curent_type])){
//$postt= bapl_getOptions('bapl');
foreach ($postt as $key => $option){
if ($key = $curent_type) {
$ptname = $key;
$limit = $option;
break;
}
}
//print_r($postt);
$count_posts = count(get_posts(array('author'=>$current_user->ID,'post_type',$ptname)));
if ($count_posts >= $limit){
//wp_die( __('You Can\'t Create any more pages of this type.') );
bapl_not_allowed();
exit;
}
}
}
to:
if (isset($postt[$curent_type])){
foreach ($postt as $key => $option){
if ($key = $curent_type) {
$ptname = $key;
$limit = $option;
break;
}
}
$count_posts = count(get_posts(array('author'=>$current_user->ID,'post_type',$ptname)));
if ($count_posts >= $limit){
bapl_not_allowed();
exit;
}
}
this way the admin is limited too.
Next you will need to change bapl_getOptions function and set you defaults there.
And last you will probably wont to remove the admin control panel of this plugin so comment out line 69 were it says :
add_action('admin_menu', 'bapl_menu');