Moden's string splitter (or any string splitter) can be used in this manner:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION TVF_2col
(
@col varchar(8000)
)
RETURNS TABLE
AS
RETURN
(
select a.item ky,b.item val from
[dbo].[DelimitedSplit8K](@col,'|') a
inner join
[dbo].[DelimitedSplit8K](@col,'|') b on b.itemnumber = a.itemnumber +1 and a.itemnumber % 2 =1
)
GO
select * from tvf_2col('XYZ00001|Test_b|XYZ00002|Test_a|XYZ00003|Test_c')