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');
}
}