To specifically answer your questions:
I fit multiple linear regression for each category but I'm not sure whether I have to inlude 0-values as well. For example, if somebody doesn't spend money on food I will have 0...should I keep only non 0 values or not?
Multiple linear regression is used for modelling continuous output variables. Here, you are trying to model values in the range between $[0, 1]$, i.e. whether a given person spends $x\%$ on $[\mathrm{Food}, \mathrm{Bills}, \ldots]$. Well, they are allowed to spend $0\%$ on an item, such as the example person you gave who lives with their parents spending no money on food (and all their money on holidays!). So you should keep 0 values as they are valid outputs for how much money a person spends on a given category.
Another thing I don't know how to deal with is that my dependent variable is not normally distributed. Furthermore, when I fit multivariate regression the errors are not normally distributed. Is it bad?
This is actually the crux of the issue using standard multiple linear regression here. One of the assumptions of using linear regression is precisely that the errors are normally distributed (see here), and the approach here violates that. Fundamentally, the values you are trying to predict (e.g. fractional spend of income on category X) ranges from $[0, 1]$, which sets boundaries on your model errors. Say your model gives a value of $7\%$ for the fractional spend on bills. And let's assume most people don't spend more than $10\%$ on bills, so that's an upper estimate. But let's say there are a few people in your sample that live at home, so for those people the true value of fractional spend on bills for those people is around $0\%$. So the errors are going to be skewed (and not normal).
As such, a better option here is to model the output as a Generalised Linear Model or Bayesian model (which I would opt for here as you have a hierarchical structure), where the Likelihood function is a Beta distribution (if modelling spend on a single category independent on others), or better still, a Dirichlet distribution (modelling spend simultaneously).