Should I divide my dataset in multiple prediction models? Let's say I have an expertise in the domain knowledge of the dataset I am working on. I know that part of my dataset acts 100% differently than the rest.

Also, it is straightforward to check if a row belongs to one part of the dataset or the other with a couple of simple if-else.

Should I split my dataset upfront and create two different prediction models for the two parts of the dataset? Or should I keep one model and try to improve it?

Then when I want to use the model for predictions, I check the input values and see in which category it belongs and I call the appropriate model for it.
Yes, you can divide your dataset and use different prediction models for different part of your dataset. Take advantage of your domain knowledge to build a good model.

After all, you can actually count the following as a single model 
$$f(x) = \begin{cases} f_1(x) &amp; ,x \in A \\ f_2(x) &amp; ,x \in A^c \end{cases}$$