Not quite.
Your interpretation for the first model is correct, but your explanation isn't quite right. Note that
$$ \begin{equation*} \beta_1 = \frac{\partial \log y}{\partial x}, \end{equation*}$$
but that isn't very easy to interpret. So, we recall the calculus result that
$$ \begin{equation*} \frac{\partial \log y}{\partial y} = \frac{1}{y} \end{equation*}$$
or
$$ \begin{equation*} \partial \log y = \frac{\partial y}{y}. \end{equation*}$$
Plugging this into the equation for $\beta_1$, we have
$$ \begin{equation*} \beta_1 = \frac{\partial y / y}{\partial x}. \end{equation*}$$
If we multiply both sides by 100, we have
$$ \begin{equation*} 100\beta_1 = \frac{100 \times \partial y / y}{\partial x}. \end{equation*}$$
We realize that $100 \times \partial y/y$ is just the percentage change in $y$, giving the interpretation that $100 \beta_1$ is the percentage change in the outcome for a one unit increase in $x$.
The correct interpretation for your second model would be that a 1 unit increase in GDP leads to a 10 percentage point increase in sales. It's easiest to understand this by thinking of your outcome as being measured in percentage points, rather than percent. Then, a 1 unit change in $x$ leads to a $\beta_1$ unit change in $y$, just as we normally get.
This is an important distinction. An increase in sales from 1% to 5% is a $5 - 1 = 4$ percentage point increase, but a $(5 - 1)/1 \times 100 =400$ percent change.
As you're going through this, keep in mind that the interpretation of a "unit change in a logarithm" as a "percent change" is a local approximation.
1.
You're looking at a percent change in percentage points. Say $x$ measures how full a glass of water is. Some glasses are 25% full, others are 26% full. Un-logged, a 1-unit change in $x$ (i.e. moving from 25% to 26%) is associated with a $b$-unit change in $y$. The fact that the unit is a percentage point is irrelevant here.
Now take the log of $x$ and $y$. A 1-unit change in $\log{x}$ is associated with a $b$-unit change in $\log{y}$. So in the percent-change interpretation, a 1-percent change in $x$ is associated with a $b$-percent change in $y$. That is, moving from a glass that is 25% full to one that is 25.25% full is associated with a $b$% change in $y$.
What if $x$ is already a percent change in something else? Let's say, instead of "glass fullness," $x$ is now how much water has evaporated from a glass over some period of time, measured as a percentage of the original water level. Then a 1% change in $x$, i.e. going from 25% change to 25.25% change, is associated with a $b$% change in $y$.
Is that meaningful? Sure, if it's what you want to model. And chances are good that taking a logarithm to "correct skew" is unnecessary for the independent variable in a regression.
2.
Recall that $\log{u}-\log{v}=\log{u/v}$. So in the "percent change" interpretation, a 1% increase in the ratio of $x_t$ and $x_{t-1}$ is associated with a $b_1$% increase in the ratio of $y_t$ and $y_{t-1}$. This is a slightly messier case than before, but it's still a percent change in percentage points as above. Let's say $x_t=1$ and $x_{t-1}=2$. Then their ratio is $0.5$. Moving from $log{0.5}$ to $log{0.5}+1$ is the same thing as moving that ratio from $0.5$ to $0.5e^{1}=0.5e$, since $\log{e^1}=1$. By the same expansion, this is associated with moving the $y$ ratio from $r$ to $re^b$.
This, of course, is completely different from taking the logarithm of the first differences.
3.
There's no "bias" to correct for. I'm going to assume you mean to ask whether the predict functions automatically transform the data back to original scale. They don't.
R's built-in lm
function doesn't (and in some sense can't, and probably shouldn't) keep track of any transformations you apply to your variables. So predict
will just take whatever $x$ you feed it and plug it into the fitted line. So if you fit l = lm(log(y) ~ log(x))
, predict(l,x)
will give you $\widehat{\log{y}}$ and it will assume x
is already on a log scale. That doesn't mean you can't write a wrapper function for lm
that allows you to keep track of such transformations and a corresponding predict
method that undoes these transformations, but that's one for StackOverflow.
The same is even more true in Stata, where a command like reg log(y) log(x)
is downright invalid. You have to first do something like gen logx = log(x)
, gen logy = log(y)
, and finally reg logy logx
. So predict yhat
will, as in R, return a log scale variable and assume you are feeding it a log scale variable.
Best Answer
General note: Distinguish between percent and percentage points.
Answer for Question 1: If y is a percentage your model will be: $$(\%)y=\beta_0+\beta_1 log(x)$$
$$\frac{d(\%)y}{d log(x)}=\beta_1 $$ $$\frac{d(\%)y}{d log(x)}=\frac{d(\%)y}{dx/x}=\beta_1$$ Dividing both sides by 100: $$\frac{d(\%)y}{d log(x)}=\frac{d(\%)y}{100 \times dx/x}=\frac{\beta_1}{100}$$
Your interpretation is: when X increases by 1 percent, y increases by $\beta_1$ percentage points.
Answer for Question 2: If you have any variable in percentage you can keep it in percentage. It is meaningless to transform a variable that is already in percentage into logarithm. You will be questioned with the zero problem: log (1)=0. I totally do not recommend this.