It sounds like you are on the right track. Consider the truth table:
sel
[2] [1] [0] | out
0 0 0 | a
0 0 1 | b
0 1 0 | c
0 1 1 | d
1 0 0 | e
1 0 1 | f
1 1 0 | g
1 1 1 | h
One of the 4ways selects a, b, c or d based on sel[0] and sel[1]. Use the sub-bus syntax (Appendix A.5.3) to select those 2 sel bits and connect them to the 4Way's 2-bit sel.
If you want to, you may email me your hdl.
--Mark