How to create a query to group alternate language pages?
This query cannot be created in the "ideal" way described in the question using craft()-&gt;elements-&gt;getCriteria. It required several steps to build the results needed. The final solution was a bit specific to our needs. Here is some pseudocode that represents a solution:

$urls = array();

// Fetch all enabled locales
foreach (craft()-&gt;i18n-&gt;getSiteLocales() as $locale)
{
    // Confirm there are elements in a specific locale and get them
    ...
    $criteria-&gt;locale = $locale-&gt;id;
    $elements = $criteria-&gt;find();

    foreach ($elements as $element)
    {
        // Add each location indexed by its id
        $urls[$element-&gt;id][] = array(...);
    }
}

// Process what we created above and adjust it to fit our needs
$urls = $this-&gt;processUrlsIntoTheRightFormat($urls);