1. As mikekchar said, preferences are (very) specific. Derived products of a base product do not count as the base product for need fulfillment purposes. To make that worse, DF doesn't even display preferences correctly: if the preference is for Kea Eye (which can never be produced as Keas are too small to produce them, but can nevertheless be a preference), it's displayed as Kea (and another dorf with preference for Kea Liver will likewise have that displayed as Kea).
However, ingredients included in cooked meals ARE counted, so a Lavish Meal batch of e.g. 16 meals using a stack of 2 Plump Helmets as one of its ingredients will count as 16 meals that satisfy a preference for Plump Helmets (unfortunately, all of those meals are probably going to be eaten by grumbling dorfs who can not get their needs met, because they happened to be the closest ones available when they were to chose one of the non appealing meals, rather than being saved for those who'd benefit from them).
1b. Booze cooking IS a great way to satisfy a problem dorf's FOOD need by meeting a DRINK preference, and there's a much smaller number of drinks than the number of foods. I.e. a drink need booze included into a meal satisfies food preferences.
However, booze cooking is very finicky to get going, as dorfs are very reluctant to actually include booze in meals. It can be done using fairly complicated DFHack scripts, though.
2. I think it would work, as the preference is a reference to the entry that contains the name as one of the fields, not a copy of the string itself. If you made the change before the world was generated it should definitely work, but changing raws in the save is not completely straight forward, and the effects depends on exactly what you changed. As indicated, this ought to work, while changing cats and dogs to have different names for males and females (cat/tomcat and dog/bitch, respectively) had no effect on existing animals, but did take effect on those new to the fortress (newborns, trade goods, migrants' animals).