I wasn't suggesting putting your objects into RC, just any variable values that the service objects may need to do their jobs. Frameworks typically do what you are doing - combine the URL and Form scopes into RC (I'm not sure about CGI though) automatically. Then you add in any other variables that may need to be passed into service objects (including, I think, the return values from previous service objects).
If you truly do DI, you don't have to have to build the objects in order and pass them into one another, or create the objects and store them in the variables or request scope. The DI framework does it for you. The details of how you "wire up" the dependencies vary between the DI frameworks, but essentially you code your objects to know only that they depend on another object (whether through an XML config file, an annotation on the component/property definition, or just a defining a property that is an object). The DI framework then goes out and creates the dependency objects for you (or if the dependency is a singleton object, it creates and caches the singleton somewhere and passes it in wherever it is needed).
-Carl V.