Look at it this way:
Historically he used to talk about her and what she was doing.
Does he do this with all of his friends?
he goes to lunch with her every day - I know as I see them together in the staff canteen
Every single day? You all work at the same place, do you ever have lunch with your DH? Do you ever walk over and sit with DH and his friend for lunch? What would happen if you did? Does the friend ever speak with you?
I think they go for drinks every Friday night and when I last went overseas for work I saw he met her for dinner
Does he go out with other friends? When do you spend time with your DH? Do you ever join him when he's going out with friends, make it a couples evening?
I've also seen messages where she has suggested he stay over with her so he can get away earlier on a business trip (her place is nearer the station than ours). He refused saying I would go mad
Is she married or in a relationship? Would you offer for a male friend to stay overnight with you? The fact your DH 'refused saying I would go mad' sounds like he knew this wasn't appropriate. Did he ever discuss the situation with you? How did she respond when he refused to stay overnight?
He receives cards and presents from her which he tries to hide and on New Years Eve he texted her exactly at midnight before saying a word to me.
Why is he hiding cards and presents from his friends? What were the presents? Did he text anyone else at midnight or just this particular friend?
He has now deleted all messages from her and has started carrying his phone with him everywhere. It's always in his pocket.
Why has he suddenly started doing this? Is there something to hide?
There are so many questions here OP. You should be able to discuss these openly with your DH. If this has been going on for years I think it's time to have a word and get things out in the open. Don't sulk, just speak with him. Do you and DH normally speak openly with each other about things?
I think you have genuine concerns. I would speak to DH about these and see what he says. Good luck! 