You need to create a constructed list and use some Perl script.
Let's make some assumptions first. Assume the parent list which is used at C3 and C6 is the same and let's call it C3List. I have also assumed C3 is a single response select question. I have also placed a randomise instruction at the bottom of the constructed list which will randomise all codes at C6. Remove it if you don't need it.
Create this constructed list and use it at C6 ...
Begin Unverified Perl
if ((VALUE("C3")==1) || (VALUE("C3")==3))
if ((VALUE("C3")==2) || (VALUE("C3")==3))
If C3 is a multiple response select question, change ...
(VALUE("C3")==2) to (VALUE("C3_2")==1)
Do the same for all C3 conditions within the Perl script.