Can't I use one binding converter and how do I pass the parameter to the DataContext and from there choose which properties I want to use?
If you pass the entire object instead of individual properties, then the binding expression will not be re-evaluated when individual properties change. You will lose the advantage of the INotifyPropertyChanged mechanism.
INotifyPropertyChanged
You may want to be more explicit and accept minimal additional information (which is usually good programming practice), or you may need information from more than one source - for example, your value may depend on the datacontext property and the checked state of the flag somewhere else in view.
You can do this, but the binding will not be updated if the corresponding properties are changed in this way. In addition to updates, Multibinding is needed for more complex bindings to various controls and data objects.