one idea..
Needs["ErrorBarPlots`"]
Show[{ErrorListPlot[
Table[ {{x, Sin[x]},
ErrorBar[RandomVariate[NormalDistribution[.3, .1]],
RandomVariate[NormalDistribution[.1, .1]]]} , {x, 0, 2 Pi, .2}],
ErrorBarFunction ->
Function[{coords, errs}, {Opacity[0.2],
Rectangle[coords + {errs[[1, 1]], errs[[2, 1]]},
coords + {errs[[1, 2]], errs[[2, 2]]}]}]],
ErrorListPlot[
Table[ {{x, Sin[x]},
ErrorBar[RandomVariate[NormalDistribution[.3, .1]],
RandomVariate[NormalDistribution[.1, .1]]]} , {x, 0,
2 Pi, .3}]]}, PlotRange -> All]

Here is an example drawing lines slightly offset:
Needs["ErrorBarPlots`"]
offseterror[off_, color_][coords_, errs_] := {color,
Line[{off, 0} + coords + # & /@ Transpose[List @@ errs]]}
Show[{
ErrorListPlot[Table[{{x, Sin[x]},
ErrorBar[RandomVariate[NormalDistribution[.3, .1]]]}, {x, 0,
2 Pi, .3}], ErrorBarFunction -> offseterror[0, Blue]],
ErrorListPlot[Table[{{x, Sin[x]},
ErrorBar[RandomVariate[NormalDistribution[.2, .1]]]}, {x, 0,
2 Pi, .3}], ErrorBarFunction -> offseterror[0.04, Red]]},
PlotRange -> All]

It should be clear how to add the little end bars if you want. I figure it would get too cluttered and you are better off without anyway though.