You can extract a billboard matrix from the 3x3 rotational part of the inverse of the view matrix you're using (which is what I assume your refer to by your "draw matrix").
To add an additional rotation you can pre-multiply the billboard matrix by a matrix that first rotates the object "in 2D" around the z-axis:
matrixRotateAxis(vec(0, 0, 1), angle) * matrixKillTranslation(matrixInverse(viewMatrix));
This effectively "undos" the rotation that will be caused by the view matrix. This you then multiply by your existing world and view matrices.