You Should look at dukapress it a fairly new E-Commerce plugin
but its loaded with features and it uses Custom post types.
and as for the relation part, i had that same challenge as your are having in developing a site for one of my customers, i needed to relate a CPT (custom post type) named “Question”
to Groups of CTP named “Answer” so i could display all answers of a question in the same page as the question itself and i ended up doing like this
for each answer i added a custom field named “Q_ID” an just set its value to the corresponding Question Post type ID.
made things real easy as far as using query_posts or a custom WP_Query cant remember and only selecting posts of type “Answer” with Custom Filed named Q_ID that equals to my Question Post Type ID.
$q= array(
"POST_TYPE"=>'Answer',
'meta_key' =>'Q_ID',
'meta_compare' => '='
'meta_value' => $Questions_Post_TYPE_ID
);
query_posts($q);
hope this helps.