Can tokens be used to set values of other fields and in modules which use tokens? I am finding the Metatag module rather unwieldy, and I want to create fields in the content type from which Metatag values will be set.

Are there tokens available for the fields of any arbitrary content type, that can be used, or a set formula for creating them?
You try use hook_tokens()

/**
 * Implements hook_tokens().
 */
function mymodule_tokens($type, $tokens, array $data = array(), array $options = array()) {
  $replacements = array();
  if ($type == 'key_token' &amp;&amp; !empty($data['node'])) {
    $node = $data['node'];
    foreach ($tokens as $name =&gt; $original) {
      $replacements[$original]='Some_value';
      }
    }
  }
  return $replacements;
}


See more document hook_tokens()