For your first question, you want each brand to have their own other specify fields, correct? If so, the problem comes from the fact that lists are typically only created once per respondent; so when you use your columns list in this grid question, all the brands are forced to share this one list.
If you want each brand to be able to have their own copy of the list, you'll need to add looping to your questionnaire. So instead of this grid question, you'll want to use a select question like "Where did you buy <BRAND>?" with your column list as the response options. Then you can add a loop to that select question that shows the question once per brand. Does that make sense?
For your second question, one option would be to create a second predefined list. It would look the same as original list of 30 attributes, but with changes for the other specify items. Instead of the regular other specifies, replace them with Sawtooth Script like this:
[% Q3_r30_other %]
Finally, have your constructed list use this copycat list as its parent list instead of the original predefined list.