There is indeed an options table (wp_options / prefix_options). You can the find full details on that table here: http://codex.wordpress.org/Database_Description#Table:_wp_options
Options are meant to be globally accessible (not tied to individual posts), and you only need to know the option name/key. You can access that table and its values with the following functions:
<?php $your_option = get_option( $option, $default ); ?>
– http://codex.wordpress.org/Function_Reference/get_option
<?php update_option( $option, $new_value ); ?>
– http://codex.wordpress.org/Function_Reference/update_option
Now you mentioned custom fields, this is something completely different. Custom fields are tied to individual posts and are stored in the wp_postmeta (or prefix_postmeta) table. To access this data you’ll need both the post_id and the custom field name/key.
(Full details on the _postmeta table here: http://codex.wordpress.org/Database_Description#Table:_wp_postmeta)
You can access these values with the following functions:
<?php $meta_values = get_post_meta( $post_id, $key, $single ); ?>
– http://codex.wordpress.org/Function_Reference/get_post_meta
<?php add_post_meta($post_id, $meta_key, $meta_value, $unique); ?>
– http://codex.wordpress.org/Function_Reference/add_post_meta
<?php update_post_meta($post_id, $meta_key, $meta_value, $prev_value); ?>
– http://codex.wordpress.org/Function_Reference/update_post_meta
<?php delete_post_meta($post_id, $meta_key, $meta_value); ?>
– http://codex.wordpress.org/Function_Reference/delete_post_meta
There are more, and you can find them in the CODEX.