Rather than asking an open question, it's better to give an example of what you are trying to do so people don't have to parse your words to divine your meaning. I'm guessing you want something like this?
> z <- GRanges(rep("chr1", 4), IRanges(c(1,5,9,21), c(4,8,14,33)), name = LETTERS[1:4])
> zz <- GRanges(rep("chr1",4), IRanges(c(2,6,14,33), c(5,11,21,44)), name = LETTERS[c(1:3,5)])
> z
GRanges object with 4 ranges and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 1-4 * | A
[2] chr1 5-8 * | B
[3] chr1 9-14 * | C
[4] chr1 21-33 * | D
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
> zz
GRanges object with 4 ranges and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 2-5 * | A
[2] chr1 6-11 * | B
[3] chr1 14-21 * | C
[4] chr1 33-44 * | E
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
> zzz <- c(z, zz)
> zzzz <- splitAsList(zzz, zzz$name)
> zzzz
GRangesList object of length 5:
$A
GRanges object with 2 ranges and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 1-4 * | A
[2] chr1 2-5 * | A
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$B
GRanges object with 2 ranges and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 5-8 * | B
[2] chr1 6-11 * | B
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$C
GRanges object with 2 ranges and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 9-14 * | C
[2] chr1 14-21 * | C
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$D
GRanges object with 1 range and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 21-33 * | D
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$E
GRanges object with 1 range and 1 metadata column:
seqnames ranges strand | name
<Rle> <IRanges> <Rle> | <character>
[1] chr1 33-44 * | E
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
> reduce(zzzz)
GRangesList object of length 5:
$A
GRanges object with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 1-5 *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$B
GRanges object with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 5-11 *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$C
GRanges object with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 9-21 *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$D
GRanges object with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 21-33 *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
$E
GRanges object with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 33-44 *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
>