Set a custom post type’s title and slug to match the current date

This is completely untested, but the principles are in place. Get today’s date and built the title, build the slug and then insert the post as a draft.

This doesn’t take care of disabling the title field from being edited. I imagine what you’re looking for would be a Javascript solution that just looks for the field and disables it.

Build the title

function wpse_75303_build_title() {
    $output = date( 'M jS, Y' );
    return $output;
}

Build the slug

function wpse_75303_build_slug() {
    $output = date( 'n-j-Y' );
    return $output;
}

Build the post

function wpse_75303_build_date_post() {
    // Create post object
    $my_post = array(
      'post_title'  => wpse_75303_build_title(),
      'post_name'   => wpse_75303_build_slug(),
      'post_status' => 'draft'
    );

    // Insert the post into the database
    wp_insert_post( $my_post );
}

Fire the action

add_action( 'edit_post', 'wpse_75303_build_date_post' );