you can enable the history tracking for that field and use field history records to determine the old value or you can maintain a another lookup field and write the old value to that field on lookup field value change. you can use Trigger.OldMap to find the old value in a trigger
{
if(Trigger.oldMap.get(urobject.Id).Lookupvalue__c != urobject.Lookupvalue__c)
{
urobject.OldLookupvalue__c = Trigger.oldMap.get(urobject.Id).Lookupvalue__c
}
}
replace your_object__c, Lookupvalue__c , OldLookupvalue__c with respecitve api Names