По-умолчанию симфонёвый контейнер это не позволяет. Есть 3 варианта развития:
1) Не сопротивляться и не использовать в этом случае контейнер, а использовать, например, фектори (т.е. чтобы контейнер возвращал этот самый фектори, который в зависимости от чего-либо возвращал нужный сервис).
2) Если Symfony 3.x и нужен сервис в контроллерах, то можно использовать Param Resolver:
https://symfony.com/doc/current/controller/argumen...
3) Можно написать свой бридж на более мощный контейнер, например Laravel, в этом случае надо в обязательном порядке наследоваться от симфонёвого (чёртова симфонёвая кодогенерация) и зарегистрировать его внутри AppKernel (там есть метод получения класса контейнера).
P.S. А ещё в последних симфонях добавили Service Locator механизм (слайс контейнера), в теории можно придумать что-нибудь с ним.