Limit the number of posts a category can have – newest post goes in, oldest one drops out, possible? plugin?

  1. Hook into publish_post.
  2. Check if the post is in the category news.
  3. Get all posts with that category:

    $query = new WP_Query( 
        array(
            'category_name'  => 'news', 
            'posts_per_page' => -1 
        )
    );
    
  4. Update the category of the oldest post if necessary: wp_set_post_terms().