How do I set a default application that gets used without enquiry? Say I've got that app that allows me to make phone calls over my private WiFi network (FRITZ!App Fon if that matters).

Every time I'm going to make a call, Android asks me which application to use: the (system) phone app or the FRITZ! app. Usually, it's no problem to pick one of the two, but it is problematic when driving: with my Bluetooth equipment, I'm able to start a call without taking the hands off the steering wheel. Better: I would be able. Because every time I'm going to start a call, I have to select which app to use.

So I have to pick my phone, unlock it (while driving) and select the app to use.

Is there any way to set the default application for a task so that I don't have to pick one every time I want to do something (i. e. always use the system phone app when making calls).

Extra bonus: a rule-based setting would be great (only provide the option to choose that WiFi phone app when I'm actually connected to my home WiFi or when BT is off).
While it cannot switch the default app for something, Tasker can still do this. 
Llama may be able to do it also, but you'll have to set it up like this: 

Set the Stock Dialer as default. 

Make a tasker profile that enables when you are connected to WiFi and triggers when you open the dialer-- the triggered action could then be to open your WiFi calling app. 

I hope that works--