In the past, when all I did was locally connected machines, I have always used the method JD describes; same number, both ends, derived from the sheet#/line#. Most recently, in my latest endeavor, since most of the field devices are located at significant distances from the I/O racks, the cables were labled based on function, derived from the P&ID; i.e. a temperature transmitter tagged as TT1000 would have a cable starting at the I/O rack labeled TT1000, incremented at intermediate terminal blocks as TT1000-1, TT1000-2, etc., labeled the same at both ends of each respective cable. For the newest PLC panels, (we are in the process of replacing everything) we have gone (since the panel integrator has supplied them that way) to the cross ferrule scheme for internal panel wiring (took some getting used to, but it really does make the most sense) and maintained the field wiring to the devices based on device designator. Our panel drawings show all internal panel wiring labeled cross ferrule, and the field wiring is shown on a set of sheets as loop connection drawings, showing the PLC rack terminal-to-end device using the P&ID cable designation. Sounds a little confusing, but it really does clarify things overall.
As Jeebs pointed out, I have seen a lot of machines in the past with "20+ A1's right next to each other". Our panel integrator eliminates that by maintaining the TB numbering order for groups of terminals common-ganged together... the designations sitll show TB1-1, TB1-2, TB1-3, etc, even though these are jumpered together. Each wire still shows a different cross ferrule number, so there is no question as to which goes where.