The reference field on the Contact object is the only field which can be searchable to retrieve a specific contact through the API.
The reference is useful to quick retrieve a contact by it external reference, source_guid field can also be used but it is not searchable.
I have my own customer ID in my database, I want to able to retrieve a customer in Sage by it's reference. But my customer is not bind to a currency in my own database, so I have to create a prefixed Sage Contact reference like this one "C_USD_12345" with :
C an specific application prefix
USD the currency used by the customer
12345 the real ID in my own database.
Because the reference field is limited to a length of 10 character you will be able to set a reference from "C_USD_0" to "C_USD_10000", in case you are handling more than 10000 contacts this could become problematic.