I am trying to get the Salesforce Metadata using Metadata API. I am able to retrieve them per organization. I followed the steps around here. If I develop my application, can the metadata.jar generated for my organization used anywhere else (similar to partner.jar in interfacing with Salesforce SOAP calls)?
The metadata API is agnostic to a specific organization. The only thing that changes between orgs is the actual endpoint for the API, which you'd get from the login() call. That's how the Metadata Toolkit works, for example; it resets the endpoint to the correct URL upon logging in. Also see the "Walk through the Java Sample Code" linked from the page you linked to. Once you have the correct endpoint, you can use the same code to query, update, and delete metadata from any organization where you have permission and the API is enabled. In fact, the only API Salesforce has that is organization specific is the Enterprise SOAP WSDL. The REST, Bulk, Metadata, Streaming, and Chatter APIs are all designed to work with any org that has a given feature enabled and that the user has permission to work with.