Create a page, add a data grid with data source as Employee, you can add search boxes to the data grid .
This will be enough for your requirement.
You mean something like this? (but in your case the firstname will come as input parameter)
So that you input a firstname and that you get a list of people with that first name?
You can do this by making a microflow that accepts either a object of type employee (which contains the first name) or a non persistable (NP) object with the firstname in it.
Then you retrieve a list of employees with the firstname is the firstname of the object or the non persistable object.
Then you can set this microflow as the source of the data grid.
Then you can send the employee object or the NP object to the page and it will show only the employees who have that first name.
Hope this is clear,