Sure. You can send this as separate vertex attribute arrays, interleaved vertex attribute arrays, or combine these into a 2-element vector to send as a single vertex attribute array.
the posibilitys you wrote reffering, as far as i understood, to the glVertexAttribPointer function of the shader language.
But it seems that the glVertexAttribPointer is operatting for each vertex component (position, color, tex …) it selfe, but not for the single components of them (x,y,z, r,g,b,a …).
Maybe you can give me an hint or a small code snippet that I can start.