You can easily do this in SSM. However you must lag your C variables prior to using them in the SSM procedure (in a DATA step). Even though SSM procedure permits DATA step statements, the LAG and DIF operations are not permitted. Suppose X = Lag( C ) and there are three X variables X1 X2 X3 (so beta is three dimensional). Then you can use the following syntax:
Proc ssm data=test;
State beta(3) type=rw cov(g); /* this assumes epsilon_t is three dimensional noise with full covariance */
Comp regEffect = (X1 X2 X3)*beta;
Irregular eta;
Model y = regEffect eta;
Run;
I have shown syntax for univariate Y. Your Y can be multivariate. You will need to read the SSM syntax and DOC examples for these more involved cases. For univariate Y you can also use the RANDOMREG statement in PROC UCM, which might be even easier.
See SSM and UCM procedure docs at http://support.sas.com/documentation/onlinedoc/ets/indexproc.html#ets143