What are the criteria to be a random factor in a multilevel model? In multilevel data, observations are correlated in different levels and when we model the data we consider these levels as random variables.
Suppose we have only 6 regions in my data and the observations are nested within the regions. The population from which the data is drawn just has exactly 6 regions. Now, the question is can I use this variable (region) as a level i.e. a random effect or I should use this as a fixed effect?
Total sample size is 8753 and each region contains: 
Region 1 -   977
Region 2 - 1750
Region 3 - 1445
Region 4 -   982
Region 5 - 1083
Region 6 - 1107  
 A: Yes, it is reasonable to use region as a random factor in your case. 
While the numbers of regions is low, their partitioning is relatively balanced and you have enough points within each partition to be somewhat sure that you will not grossly over- or under-estimate the random effects. A great resource on the matter is the DRAFT r-sig-mixed-models FAQ; it addresses such questions in more detail. 
In any case I would strongly suggest that you bootstrap your model to get confidence intervals about the standard deviation of your observed random effect. Assuming you are using R and the package lme4 the function confint(method="boot", ...) is what you want to use at first instance. 
Note that ultimately the inclusion or exclusion of a random factor is a design question; if you really think that the factor region is something you test against then it should be a fixed effect; if it is (almost) an nuisance parameter or something you do not really have control over then it is plausible to treat as a random effect.
