Does T Test only work for continuous random variable?
It depends on what you mean by "work".
When using T test normally we would assume the original data follows normal distribution, but if the sample size is large enough, this assumption can be ignored due to Central Limit Theory.
Not if you care about power.
I thought since normal distribution is for continuous random variable, even if the data does not have normality, it at least must be continuous random variable in order to use the t test.
Your argument that was based on the CLT wouldn't distinguish between discrete and continuous variables -- the CLT applies to either.
However in practice, I found that the t test is widely used even for discrete random variable such as hospital length of stay (LOS) in days (which is integer and thus discrete random variable).
It does get used on discrete data (and on obviously non-normal continuous data, and on data that are neither discrete nor continuous) at least sometimes. Some of those times, it's probably quite reasonable to do so (in that the significance level will be close to the nominal level and the power will be at least adequate).
I would tend to avoid it in that length-of-stay case; leaving aside likely issues with censoring, you have something which may be extremely right skew and even if your sample size were huge, the power may still be poor.
So my question is is it a common practice to apply t test on discrete random variable?
If you're going to apply it in a case where you can be confident your samples are drawn from something that's fairly non-normal you'd probably want to have an argument ready for why it would perform reasonably well.
If not, when we want to compare the mean of two groups consisting of discrete random variable, except for Wilcoxon Signed Rank Test, what other tests can I use?
A signed rank test is a one-sample test (or a paired-sample test), not a two-sample test. It also doesn't compare means (it could reject in the wrong direction, for example)
You might use a permutation test of the difference in means, or make a different parametric assumption (in some situations you might consider a negative binomial assumption for example, or some other discrete distribution -- depending on circumstances), or perhaps add some assumptions to a Wilcoxon-Mann-Whitney that could make it also a comparison of means (though it won't necessarily outperform the t for discrete skewed cases).