Multi-step, live updating search

It sounds like you need conditional form fields for selecting your criteria based on previous criteria selection, then for live filtering, you would use an ajax filter instead of the regular form submit. I assume you are filtering WordPress posts. If you search for “conditional form fields” and “wordpress ajax filter” you should find lots of results. I believe the plugin Advanced Custom Fields can help if you don’t want to code the build your conditional form by hand. There are a number of tutorials online regarding using ajax filters for querying WordPress posts.