I am struggling to populate the options of a ranking question with the answers they chose to the previous ranking question. eg of the top 7 reasons they choose in Q1 I want to only give them these options to rank a product by in Q2. I can change the style of ranking if that means I can do it.
Unfortunately, due to the nature of how rank order questions are stored in the database, you can't merge from or into them.
As a workaround, I would set your rank order question up as a matrix question with an open-ended, 'fill in the blank" column that the respondents could use to rank the options from 1-7. I would then add a second matrix question on page 2, enter all 18 options as rows, and add a condition to each rows of matrix #2 so that it only shows if that option is chosen on page 1. It's a little tedious, but I created a sample for you and it only took me about 5 minutes. Granted, my options are very simple, but it hopefully still shouldn't be too bad for you. I have attached the survey xml of that sample for you - feel free to import it into your installation so you can see exactly what I did.
I would definitely create some test responses for this and test the export and reports to make sure this will work for you before you make it live. Let me know if you have any questions.