Microflows don't necessarily slow down the filtering. It really depends what you put in it. I would place a dataview (caller of the page) around a grid or list with a retrieve by xPath (filterobject = [%currentobject%]). Once you add a filter, you update and refresh the filter object. The performance will really depend on the amount of data and how complicated your search will be.
Probably not possible. You want to do something custom. Within Mendix, custom starts mainly with microflows.
When I take a look at your example, it takes also time to filter the printers displayed on the right, after applying a filter.
If you want to get an idea of the amount of work needed to do htis properly read the following:
https://tweakers.net/reviews/2779/tweakers-7-waarom-een-eigen-java-back-end.html
It's in Dutch sadly.