How to disable Edit Post and Allow only Custom Field?

You can remove post type support for the editor on a conditional basis. The following should work:

add_action( 'add_meta_boxes', 'wpse45113_remove_editor' );
function wpse45113_remove_editor() {
    // change the capability and post type to whatever is appropriate
    if ( ! current_user_can( 'install_plugins' ) )
        remove_post_type_support( 'post', 'editor' );
}

I’m using add_meta_boxes because it fires not too long before the editor is initialized, but there are a number of hooks that would also work. You can similarly only add the meta box with the custom fields for those users within the same if block.