Thanks for your reply there ker, that's pretty much what i was afraid of. Your reply has actually made me think this through a bit further though.
It's not essential for the rectangle to be static, as the space it's in has no gravity, and it will be set to ignore all collisions. So, probably the next easiest thing to do would be to make the rectangle be a cpPolyShape, and modify the vertexes on each step. I know that's reaching inside the object still, but it's a lot simpler than what I was thinking before. Does this perhaps seem a better way than recreating the object on each step?