I am reading the Bluetooth Core Spec. v 4.2 document, but I can't find any information about the characteristic length limit.
The limit is set by what is possible for an attribute value, see the ATT part (Vol 3, Part F, 3.2.9):
The maximum length of an attribute value shall be 512 octets.
You should also consider what could be sent in one packet, which is 20 bytes (ATT_MTU - 3). With 20 bytes or less you can use simple transfer procedures and save power.