You don't have to assign result of your select to a local variables. What you have to do is INSERT results of that SELECT into table variable you declared as return value:
Instead of
DECLARE
@vv_SRC_CD NVARCHAR(255),
@vv_CD NVARCHAR(255),
@vv_SRC_CD_DESC NVARCHAR(255),
@vv_DSC NVARCHAR(255);
SELECT
@vv_SRC_CD = A.vv_SRC_CD,
@vv_CD = A.vv_CD,
@vv_SRC_CD_DESC = A.vv_SRC_CD_DESC,
@vv_DSC = A.vv_DSC
FROM DBO.values A
JOIN VVLookup B
ON A.vv_SRC_CD = b.vv_SRC_CD
WHERE B.[Client Column Name] = @ColName
Try
INSERT INTO @VVSrcCDs
SELECT
A.vv_SRC_CD,
A.vv_CD,
A.vv_SRC_CD_DESC,
A.vv_DSC
FROM DBO.values A
JOIN VVLookup B
ON A.vv_SRC_CD = b.vv_SRC_CD
WHERE B.[Client Column Name] = @ColName