How about a single product with multiple options? Product=Custom sticker; Attribute 1=materials, optons=white,black...; Attribute 2=size, options= set your pre-defined sizes here. Now price adjustments can be set according to choice of material and size.
Now for linking the customer created node to the order. I think you should be able to to set a rule with workflow-ng for that.
Hope that helps you out, if not try re-posting in the Support forum.
