It seems that I've opened up a larger can of worms than I'd expected! Thanks to all for the suggestions and clarifications.
From what you say Quartet_No.I_Éloge_MovementI-ViolinI is a valid variable name - just checking that this is correct. But also (from Aaron Hill's email) so is "Quartet_No.1_Éloge_Movement1-Violin1" (The quotes being part of the variable definitions and use, not part of the name).
Maybe the documentation could be enhanced, possibly indicating the significance of the "." character. When I've finished my current projects (which may be late January) I'll have a look at it. But I'll have to get my head around the way in which the alists can be used in a constructive way first. My confusion came from the fact that the syntax for setting a variable and prepending to an alist are the same. Not a problem once you know what you're doing to what. IYSWIM.
>> This raises a further question which I can't see answered in the
>> documentation: exactly what characters are allowed in a Lilypond
>> variable name? NR says that the convention is alphabetic characters
> It's alphabetic characters in the ASCII set plus all non-ASCII
> characters, potentially interspersed with
> isolated single underlines or
>> but you seem to have found that digits and full-stops are allowed.
> No, they aren't. I.violin.1 = ... is an
> assignment of nested alists.
> The alist under key violin in the alist in I is
> assigned a new value for
> the key 1.
>> Is this documented, or did you experiment?
> Documentation is probably not all that extensive.