Is it possible to create a generic report that can be run for any client (company)?

Is it possible to create a generic report that can be run for any client (company)?

This should contain:

All contacts at a company (need to be able to select the company each time)

Name

Job title

Company name

Contact level

Contact owner

Outstanding activities inc dates and description

I know how to create a report, but not sure how to customize this so that the user can select a different company each time and still get the same level of information. Would I need to do something with the criteria settings?