Can custom entry sources have their own URLs?
After a little more digging, I discovered this can be achieved by adding a data array with a handle value to the source, so that code becomes:

public function modifyEntrySources(&amp;$sources, $context)
{
    if ($context == 'index')
    {
        $sources[] = array('heading' =&gt; 'Translations');

        $sources['translations:untranslated'] = array(
            'label'    =&gt; Craft::t('Untranslated'),
            'criteria' =&gt; array('translationCompleted' =&gt; array('0', null)),
            'data'     =&gt; array('handle' =&gt; 'untranslated'),
        );

        $sources['translations:translated'] = array(
            'label'    =&gt; Craft::t('Translated'),
            'criteria' =&gt; array('translationCompleted' =&gt; '1'),
            'data'     =&gt; array('handle' =&gt; 'translated'),
        );
    }
}


This doesn't appear to work for nested sources however.