I am by far no expert on time-series but these are my thoughts for what it is worth.
Hopefully someone else could add to this to help you further on your way.
Does it make sense?
To me it doesn't really make a lot of sense.
When I do panel data analysis I base the choice of my variables on the results in the literature. There should be a theoretical basis for your model.
I would just use the Granger causality test as a method of analysis.
This paper might be of interest of you, where they use a Granger test in a panel data setting.
If the time series are non-stationary could I run the Granger CT or should I have to make time series stationary with some cointegration process before?
Yes you should make the time-series stationary as the VAR-model that you use to do the test assumes that the data is stationary.
If your time-series has a unit root, often first differencing will eliminate this unit root.
How can I do it with Stata?
First differencing can be done by using the D-command (don't forget to time-set your data first)
So if you have your time-series called gdp then you first difference it by:
gen gdpdiff=D.gdp
You can set up the VAR model by using the var-command.
For help on this simply type
help var
So the command for your VAR-model could be:
var fdi gdpdiff
Use varsoc to test the optimal length of the number of lags that need to be included. So in the command below I test the first 20 lags.
varsoc, lag(20)
The run your model with the desired number of lags, for instance
var fdi gdpdiff, lag(1/10)
After fitting the var-model you can do the Granger causality test using:
vargranger
How can I interpret the results?
I found this post quite useful on how to conduct and interpret a Granger causality test (it is done in R).
Be aware that the null hypothesis is one on non Granger causality.
From your question it seems like you want to estimate the effect of a treatment variable on some outcome variable. If that is indeed the case, a cointegration analysis won't do you much good. Here's why: You say that your treatment variable is binary variable, so I take it it takes the value 1 if an individual was treated and 0 otherwise. You are correct in your hesitation regarding the unit root testing of that variable; it's not meaningful. Think especially in terms of cointegration and how it is defined.
We say that two processes, $X_t$ and $Y_t$, say, are cointegrated when both are integrated of some order larger than zero but there exist a linear combination of them that is integrated of a lower order. But if one of them is constant over time, cointegration not possible since a constant is trivially stationary. Each treatment dummy in your data (one for each cross-section dimension / observed individual) is indeed constant over time.
With that in mind, RDD seems like the better choice. However, RDD is not always implementable (you need some sort of discontinuity to exploit, for one) so in general you cannot have a rule saying "either I do cointegration testing or exploit an RDD design". It all depends on the data you have or can get hold of. This is also what I mean in my comment: if you want advice on which approach to use, you have to give some details about what data you have and which question are you trying to answer.
Edit:
In response to your comment: the party membership of the governor cannot be cointegrated with the level of environmental expenditure because it cannot be integrated of any order $p>0$. Even if the value changes over time AND between individuals, the variable only takes two values and, thus, cannot include a stochastic trend. In order to be cointegrated with the dependent variable, they must share the same stochastic trend, but they cannot possibly do that, then.
Best Answer
Since you have the long-narrow panel data ($T > N$), the easiest way is to fit OLS for all 6 countries separately. If you suspect there are across dependence between $N$, you can run
sureg
(seemingly unrelated regression) in Stata to control cross relationships in OLS residuals.