each email address can do the survey once only
Could be done by a custom PHP Script
each question has multiple answers, but only 1 answer is allowed
Could be done with single select
all answers in each question have a corresponding number (A) as value
not clear, but you could give each answer a custom ID
for certain answer it has a number (A) and a number ( of which is representing a product
not clear
show score (sum of A) at end of survey, with recommended products (look up all the B's)
not clear completely, but you could use the expression manager to show a score
each question is independent on previous ones
this is default