Return element criteria model from attribute of a model
If I'm following you correctly, seems like you could override your Model's getAttribute method to do something like this completely untested code:

public function getAttribute($name, $flattenValue = false)
{
    if ($name == 'location' &amp;&amp; $flattenValue != false)
    {
        $criteria = craft()-&gt;elements-&gt;getCriteria('MyPlugin_MyElementType');
        $criteria-&gt;location = parent::getAttribute($name, $flattenValue);
        return $criteria;
    }

    return parent::getAttribute($name, $flattenValue);
}


If I'm not following you correctly, then that was pointless.