How are the ECO codes for chess openings assigned? As an example, I will use the Ruy Lopez.

C60 is defined as 1.e4 e5 2.Nf3 Nc6 3.Bb5 as well as host of other Ruy Lopez variations.

C60 is also the Ruy Lopez - Cozio Defence, Paulsen Variation which is defined by the moves 1.e4 e5 2.Nf3 Nc6 3.Bb5 Nge7 4.Nc3 g6

C66 is the 'Ruy Lopez - Closed Berlin Defence, Chigorin Variationwhich is defined by the moves1.e4 e5 2.Nf3 Nc6 3.Bb5 Nf6 4.O-O d6 5.d4 Nd7`

How do these codes get assigned?  In the case of the Ruy Lopez, are the codes differentiated after the move 3.Bb5?
It looks to me like someone just went in order of these started with the b pawn, the c pawn, the d pawn, the e pawn, and then indexed those. and then went the other side and said these were responded to by the b pawn, the c pawn, the d pawn.

Naturally, there is a more sophisticated classification of the whole deal. ECO stands for the Encyclopedia of Chess Openings. As with all encyclopedias, it has volumes. There are 5 volumes: A, B, C, D, E. Note that these correlate to the range of eco's which is A00 to E99. In your example, there are 40 entries for the Ruy Lopez (C60 through C99).

Each volume is broken down into a type of openings designated by, 

Volume A: Flank Openings
Volume B: Semi-Open Games other than the French Defense
Volume C: Open Games and the French Defense
Volume D: Closed Games and Semi-Closed Games
Volume E: Indian Defenses

and in general, the main eco codes break down into

A
White first moves other than 1.e4, 1.d4 (A00–A39)
1.d4 without 1...d5, 1...Nf6: Atypical replies to 1.d4 (A40–A44)
1.d4 Nf6 without 2.c4: Atypical replies to 1...Nf6 (A45–A49)
1.d4 Nf6 2.c4 without 2...e6, 2...g6: Atypical Indian systems (A50–A79)
1.d4 f5: Dutch Defence (A80–A99)

B
1.e4 without 1...c5, 1...e6, 1...e5 (B00–B09)
1.e4 c6: Caro-Kann Defence (B10–B19)
1.e4 c5: Sicilian Defence (B20–B99)

C
1.e4 e6: French Defence (C00–C19)
1.e4 e5: Double King Pawn games (C20–C99)

D
1.d4 d5: Double Queen Pawn games (D00–D69)
1.d4 Nf6 2.c4 g6 with 3...d5: Grünfeld Defence (D70–D99)

E
1.d4 Nf6 2.c4 e6: Indian systems with ...e6 (E00–E59)
1.d4 Nf6 2.c4 g6 without 3...d5: Indian systems with ...g6 (except Grünfeld) (E60–E99)

Source: http://en.wikipedia.org/wiki/Encyclopaedia_of_Chess_Openings