This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
Yes, in that code "req.getParameter(something)" gets one of the request parameters.
As for how they get into your application, that depends on whether the request was GET or POST (or one of the other more unusual methods). If it's a GET request then the parameters come in as parameters of the URL (probably what you meant by "on the query string") but if it's a POST request then they work somewhat differently.
As for adding a parameter, you can't do that in your servlet. You can only respond to whatever your client has sent. Now if that question was meant to be how to get the client to send another parameter, then it's a question about the client. About which we know nothing.
I don't know what that enormous bit of code was supposed to mean. (Please don't post huge code samples, nobody wants to read them.) However in the URL you posted at the beginning, after the XSLT transformation was complete, there would be three URL parameters, namely "homeId", "transId", and "dmDocumentId". Actually I suppose there could be others if the XSLT transformation generated them, but the code doesn't look to me as if it would do that. It's not impossible, though, so the best way to see what parameters are being passed is to look at the actual URL which is generated rather than trying to figure out what the code might produce.