Are you importing data from Active Directory like your users?
Also, do you have a reference list defined in Service Desk that holds your company codes?
What I would say do is create a reference list under system called "Company Codes" that has a couple User fields - Primary Approver and Secondary Approver.
Then create a relationship from Company Code to Users and add that to the End User and Analyst form. Associate a company code with all your users in the system (granted you import them from AD).
Then, in your process, if approval is required, have it assign to your RaiseUser.CompanyCode.PrimaryApprover and have it go to an awaiting status. Then create a query that looks at the creation of the ticket and the status and if it's in an Awaiting approval and it's been created for more than X days. Set that query up in the schedule manager and have a scheduled task that runs that query every hour and if there is anything in there have it trigger an action in the process for "Reassign to Secondary Approver". In your process you need to have a windowless action for this and an auto assign after that action that assigns to RaiseUser.CompanyCode.SecondaryApprover.
Hope this points you in the right direction.
Is there any document/article regarding how to set up a reference list in Landesk?
In our process there is a list of approvers already defined in the Active Directory against each Company Code. For Example: There can be 3 different approvers against company code 'Code1' and 2 approvers against company code 'Code2'. If a user having company code 'Code1' is selected then depending upon the apporval hiererchy the ticket must be send to all the 3 approvers sequentially. If Approver1 approves the ticket then it must be send to Approver2 for his apporval and so on.