About using Walsh matrix as spreading sequence
Yes you can, because you do spreading for each bit of data. So, regardless the length of your data, you are going to spread every bit on your code. In case if you have $x = 10$ you will have data after spreading with length 8, and if $x=101101$ you will have data  to send with length 4 x 6 = 24. Just try to understand the process of spreading (I think it's by XOR), then you do spread for each bit of data, not for all data. 

Good luck