Where should I update_options in a theme?

Alternate approach (if you want/need to keep this in functions.php and go via hooks instead of modifying template) would be something like this:

add_action( 'pre_get_posts', 'pre_get_posts_home' );

function pre_get_posts_home( $query ) {

    global $wp_query;

    if( $wp_query == $query && $query->is_home )
        $query->set( 'posts_per_page', 1 );
}