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