What is missing, which would allow your need to be filled
equally simply, is an attribute (say "hatched") which would
work similarly:
box wid 2 ht 1 with .sw at (1,0) hatched 45 0.05
which would fill the blox with a hatching of slanted lines
at a 45-degree angle and with spacing 0.1 -- but that is
not available.
So, I think, the simple answer to your question is that,
as things stand with 'pic', you need to do it by hand.
However, I think it may be possible to really do it as
you want, but it would involve embedding some PostScript
code in the pic code.
I will try to work out how this can be done, but not just now!