I want my yearly archives to show a list of all posts

if you only want this for yearly archives, then you could create a custom date.php template that limits the posts to displaying just the title (and possibly excerpt as you wish)

http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

otherwise, you could also create archive.php but it that would effect all your archives. date.php would only apply to your time-based archives.

then i’d modify the query using pre_get_posts() to override the posts_per_page parameter.

pre_get_posts for modifying the query:
http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts#Example:_Changing_the_number_of_posts_per_page.2C_by_post_type

you said you only want this on the year archives, so we’ll use the conditional is_year()

http://codex.wordpress.org/Conditional_Tags#Any_Archive_Page

add this to your functions.php:

add_action('pre_get_posts', 'wpa_44980' );

function wpa_44980( $wp_query ) {

    if( is_year() ) {
        set_query_var('posts_per_page', '-1');
    }
}