To solve the problem 1, you could hook to add_attachment and edit_attachment hook.
add_action('add_attachment', 'wpse_set_attachment_category');
add_action('edit_attachment', 'wpse_set_attachment_category');
function wpse_set_attachment_category( $post_ID )
{
// if attachment already have categories, stop here
if( wp_get_object_terms( $post_ID, 'category' ) )
return;
// no, then get the default one
$post_category = array( get_option('default_category') );
// then set category if default category is set on writting page
if( $post_category )
wp_set_post_categories( $post_ID, $post_category );
}