How to Customize number of blog posts on first page?

There is no option to change the number of posts per page, archive, tag or category from the admin but you can use query_posts() posts_per_page to set the number.
for example in your theme’s index.php file or if you are using a static page as your home_page the page.php file add this snippet of code above the loop

if(is_home() || is_front_page()){
    global $query_string;
    parse_str( $query_string, $args );
    $args['posts_per_page'] = 2;
    query_posts($args);
}

what it does is check to see if you are on the home page or front page and if you are then it changes the number of posts to show.

another example is to show different number of posts for different categories:

global $query_string;
parse_str( $query_string, $args );
if(is_category('cats')){
    $args['posts_per_page'] = 7;
    query_posts($args);
}elseif(is_category('dogs')){
    $args['posts_per_page'] = 4;
    query_posts($args); 
}else{
    $args['posts_per_page'] = 10;
    query_posts($args);     
}

here we use the conditional tag is_category() to check which category we are in based on that we set the number of posts to display.
For cats we set 7, for dogs we set 4 and if its just random category we display 10.