Why eigenvalues are greater than 1 in factor analysis? Why we take eigenvalue greater than 1 in factor analysis to retain factors?
 And how can we decide which variables are to be chosen as factors?
 A: Using eigenvalues > 1 is only one indication of how many factors to retain. Other reasons include the scree test, getting a reasonable proportion of variance explained and (most importantly) substantive sense. 
That said, the rule came about because the average eigenvalue will be 1, so > 1 is "higher than average". 
On your second question: Are you asking how to know how many factors (latent variables) to retain? Or are you asking about which observed variables to retain?
If the former, see above and see any book on factor analysis. If the latter, each factor is a linear combination of all the observed variables (although some contribute very little). 
A: I came across a very simple and interesting explanation for this eigenvalue>1 criterion:

... .Those with eigenvalues less than 1.00 are not considered to be stable. They account for less variability than does a single variable and are not retained in the analysis. In this sense, you end up with fewer factors than original number of variables.
  (Girden, 2001)

I paraphrase like so: because you don't want to end up with more or equal number of factors as the number of your variables is. When a factor has an eigen value less than 1.00, in a sense it has less than one variable in it.
References
Girden, E. R. (2001). Evaluating research articles from start to finish. Thousand Oaks, Calif., Sage Publications.
