I suppose you could use PROC GLMMOD to create a dataset that had ones and zeroes for the categorical variables, and then merge back if there are any continuous covariates.
You should be concerned about the use of categorical variables--getting good starting values may be difficult, and using the default method may lead to convergence to local minima due to edge effects.
The inclusion of covariates implies (at least to me on first reading) that the covariates are "smooth". Discontinuities may lead to an odd mixture of distributions, highly conditional on the dataset being analyzed.
Steve Denham