How to format custom fields when editing an attachment?

You’ll have to include and enqueue a new CSS file for your plugin on the admin side using admin_enqueue_scripts. And since you may want to load this on every page, I’d follow the first example on the Codex (pasted here):

function load_custom_wp_admin_style() {
        wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
        wp_enqueue_style( 'custom_wp_admin_css' );
}

add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

But instead of the get_template_directory function, you’ll want to use the plugin_dir_url function, I believe.

function load_custom_wp_admin_style() {
        wp_register_style( 'custom_wp_admin_css', plugin_dir_url(__FILE__) . '/admin-style.css', false, '1.0.0' );
        wp_enqueue_style( 'custom_wp_admin_css' );
}

add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

To answer your two questions, it looks like the labels are vertically aligned in a table format. So, if that’s the case, you’ll need to vertically align the content to the top, and then change the width of the table, and all subsequent inputs to 100% or something like that. Without inspection, I’m just guessing at the image…