I'm assuming you plan on displaying the posts with a custom query in a custom page template. To order a query by a numeric custom field, you can try using wp_query()'s meta_key and orderby arguments.
http://codex.wordpress.org/Class_Reference/WP_Query
For example:
$args = array(
'meta_key' => 'my_key',
'orderby' => 'meta_value_num'
);
$my_query = new WP_Query( $args );
while ( $my_query->have_posts() ) { $my_query->the_post();
/* Your post loop */
}
If you want the query to only return posts in certain categories, you can add the category__in argument:
$args = array(
'category__in' => array( 27, 76 ),
'meta_key' => 'my_key',
'orderby' => 'meta_value_num'
);
Edit: I should also mention that you can specify the number of posts to show with posts_per_page, and if you want pagination to work you have to add the paged argument:
$args = array(
'posts_per_page' => 10,
'paged' => get_query_var( 'page' ),
'category__in' => array( 27, 76 ),
'meta_key' => 'my_key',
'orderby' => 'meta_value_num'
);