Terminologies - lags, order in time series model
Q1: should the model generate a time series of length 'N=16` i.e, would the output of the above model $\mathbf{y} = [y_1,y_2,\ldots,y_N]$ contain 16 elements where $n = 1,2,\ldots,16$?


If one thinks about your question in terms of FIR filtering, then an input signal, $x$ of length $N$ filtered with an FIR filter of length $p$ ($p$ coefficients) will have an output of length $p + N - 1$.

Note: there are ways to define the output so that only $N$ outputs are obtained, but you need to understand that is what you are doing.


  Since the order p=2 would the physical interpretation  be that the channel can take in only 2 data values as  input? 


It means the channel does not change the input much at all. It's a two coefficient FIR filter.


  Also does p=2 mean that the channel has 2 paths through which the data input travels?


One way to interpret the FIR (MA) nature of the filter you are using is that it involves $p$ paths with a time delay of $nT$ (where $T$ is the sample period).


  Q2: Is there a relationship with the number of input elements and the number of lags?


In general, no, there will not be a relationship.




  (1) Is this related to "multipath" often used in Rayleigh fading? If there are $p$ paths then would the transmitted signal travel in two directions? 


The usual method of modeling multi-path is to say that the receiver receives:
$$
y^c(t) = \sum_{i=1}^{p} h^c_i x^c(t - d_i)
$$
where this is the continuous-time version so the $d_i$ are not integers and $d_1 = 0$.

Moving to the discrete-time version means you need to sample everything using $t = nT$.  So if you stick with $p$ components, you can only really have $d_i = (i-1)T$.


  (2) What is the general way to set $nT$? Using Matlab, I did not do any thing in my code. Can you say what is $nT$ for my example? 


$T$ is determined by your modeling. How did you relate the actual continuous-time problem to the discrete case?