Regarding B, the way we do it in the latin world is just by having 2 last names, one per parent. So the child of Jose Perez and Irene Martinez is named Alberto Perez Martinez (the fathers last name is the first by default but you can change order). Its not a problem when picking up children from schools or whatever.
They get one per parent, not all of the previous ones. The child of Juan Lopez Sánchez and Ana Heredia Marín would be called Firstname Lopez Heredia. If this child had a child with Luisa Ribera Zapatero the kid would be Firstname Lopez Ribera.
By default the fathers last name goes first, but they can decide to swap the last names to put the mother’s first.