In practice Requirement gathering should occur first and then followed by use cases (and you could have a feedback loop to verify the requirements). The case that you describe of "should we include this" , "should this be a use case" comes up mostly in product development environments. Making this choice is tricky based on your appetite for risk and your team.
If however you are trying to develop a solution for a client the question really is "Does the client need this" and nothing more. You may encounter situations where the client really does not know what he needs, in that case I would recommend you to go even deeper and understand the business problem that needs to be solved. Once that is clear the technical solution can follow. In such scenarios I would usually recommend short iterations and an incremental solution with active client participation.
In which language should we write this particular requirement
Are you implying a programming language ? In that case that is definitely the wrong question to ask during requirement gathering. The technical implementation is usually decided much after the requirement gathering phase.
First there should be a technical solution like say a web-app, mobile-app, middleware, integration , db solution etc.
You could have hints thereabout ofcourse if say your client has a .net shop or java shop or deals with a particular vendor or even worse is vendor locked-in. Even then the first thing should be the technical solution and based on time/budget/resources/misc conditions the technical implementation will evolve.
Unfortunately books can only hint at various scenarios, and the best learning is in practise.