Вот этот вариант работает и подходит, но он вырвиглазненько выглядит.
В случае двух уровней ещё более менее, но если три и более уровней, там с ума сойдёшь...
<!DOCTYPE HTML>
<html lang="en" ng-app>
<head>
    <title>Test</title>
    <script type="text/javascript" src="js/angular/angular.min.js"></script>
    <script type="text/javascript" src="js/jquery/jquery-1.10.2.js"></script>
    
    <script type="text/javascript">
        function FeaturesListCtrl($scope) {
            var GetL2 = function(l1){
                rtn = []
                $.each(l1, function(i, n){
                    rtn.push([
                        n.a + (i + 1).toString() + '_qwe',
                        n.a + (i + 1).toString() + '_asd'
                    ]);
                });
                return rtn;
            }
            
            $scope.l1 = [
                { a: '1' }, 
                { a: '2' }
            ];
            
            $scope.l2 = GetL2($scope.l1);
            
        }
    </script>
</head>
<body>
    <div ng-controller='FeaturesListCtrl'>
        <ul>
            <li ng-repeat='level1 in l1' ng-init="outerIndex = $index">
                {{level1.a}}
                <ul>
                    <li ng-repeat='level2 in l2[outerIndex]'>
                        {{level2}}
                    </li>
                </ul>
            </li>
        </ul>
    </div>
</body>
</html>
Есть другие варианты?