How to deal with values that don't exist, as opposed to are missing? I am working with a dataset where the dependent variable is $y$ (level of use of a line of credit) and the key independent variables are $x_1$ and $x_2$ (two different types of interest rates).
Some lines of credit have both types of rates and, hence, $x_1$ and $x_2$ have values. Other lines of credit have just one of the rates (say, e.g., the first one) and $x_1$ has a value whereas the value in $x_2$ is missing. In addition, interest rates may occasionally be $0$.
Therefore, I have two problems:


*

*If I regress y on $x_1$ and $x_2$, I lose those observations where, e.g., $x_1$ has value but $x_2$ has a missing value, although it is missing, not because I do not know the value, but because the line of credit does not include the second interest rate. Does anyone know a sound way of solving this problem? I have thought of replacing missing values with $0$. Would this be correct? Does it matter the fact that interest rates themselves can be $0$?

*The second problem arises because I also use interaction terms of the form, e.g., $x_1d$, where $d$ is a dummy variable that is either $0$ or $1$. Since $x_1$ can be $0$, the interaction term can be $0$ not because $d = 0$, but because $x1 = 0$. Can anyone help me to solve this? I have thought of adding a small value (say, $0,001$) to $x_1$ and $x_2$. Does this affect the results?
 A: *

*You use regression, if you know the shape of the model (e.g. linear, quadratic,...) but want to analyze the coefficients of certain variables in the model. Consequently, you can build a model where all credit lines with their various interest rates are mapped to some indicator of time preference and/or risk or whatever, depending on your research objective. Then you'll do your regression with this indicator, that can be derived for all credit lines. Of course, this is only as good as your model, but this applys to all regression models as well. 

*Interaction terms of the factors $a$ and $b$ are written as $(ab)$, but they are not really products. The notation $(ab)$ only tells you that $a$ and $b$ are involved. The interaction term is not the product of the main effect terms.
EDIT: You have to consider the principles of linear models. We have $$Y=Xb+\epsilon.$$
$Y$ is the response, $b$ is the vector of regression coefficients or effects to be estimated. $X$ contains the independent variable's outcomes or dummy variables, respectively. These dummy variables have the value 0 or 1 just in order to "select" certain rows in $b$ that would be used for estimating. So if there is a 1 in column $k$ of $X$, entry $k$ in vector $b$ will be considered as relevant parameter for estimation and modelling. One thinks that the value of this parameter --if relevant-- just adds to the response variable.
From this point of view, an interaction can just be seen as completely different factor that has conincidentially $a_1\cdot a_2$ levels, if there are already $a_1$ and $a_2$ levels of two main effects. $X$ just gets $a_1 \cdot a_2$ more colums and $b$ respectively more parameters. So you really don't have to worry about some main effect being 0. In fact, you could merge main effects and interactions to a single overall effect with $a_1 \cdot a_2$ levels. This would create a nonsingular model, where the design matrix $X$ has now full column rank.
Concerning 1), I don't believe you should approach your research question with a linear model since investment decisions are hardly linear in the interest rates. I would suggest to build first a model about the preferences of the credit schemes, but that's just my personal opinion because I've been taught in my economics studies that understanding and modeling economic decisions is fundamental to modeling econometric data. Then you would perhaps get some ideas on how to deal with the nonlinearity and possibly instrumental variables. But I don't have enough insight into your research question, of course.
A: Please consider the following as a personal view (not an expert advice).
Probably issue 2 is not a problem at all, practically speaking.
For the problem 1 I would use multiple imputation (MI).
Basically, (1) it creates, let's say, 10 datasets. In each data set numbers for missing values are slightly different. (2) you run your regression ten times. (3) you obtain one summary result for your regressions.
In Stata and in SAS there is a straightforward implementation of MI.
For data which you have described, Stata code could be:
 mi set mlong
 mi register imputed  x2 
 mi impute regress x2 y x1, add(10) rseed(65154)
 /*may or may not include d above, not sure */ 
 mi estimate: reg y x1 x2

