I think if you have prohibitions about which price points can appear with which brands, then you have a situation more akin to the second case I described. The different design methodologies I described can all accommodate this situation and software packages can handle it pretty easily, though some do it a little differently than others.
But if you don't have prohibitions and you are in the third case I describe, then when you run the analysis you just create a different design column for each brand's prices. So if you have brands A, B and C you have a column in your design for brand A's price (which is coded as missing when the profile is brand B or C) and you have a second column for brand B's price (coded as missing when the profile is of brand A or C) and a third column for brand C's price, again coded as missing when the profile is for brand A or B. The exact way of coding the prices to be missing is software-specific and can depend as well on whether you treat price as a part-worth or a linear function.