Hi Santhosh,
I guess you can redefine methods given and please do not forget to call super class methods if you are redefining. I am not sure which method to redefine. Debug and understand the flow completely.
Another suggestion is as follows
I assume you use CRMD_ORDER to create leads. If you use that, then i suggest you to create an implementation in ORDER_SAVE badi and make it run only for leads by doing a check at the top of your implementation. If it passes through then you can search for prospect name and other details, if you find a match then you can update the existing one and add logic to avoid saving the new lead thereby preventing new lead creation. You can also give a message in GUI stating current record was merged with Lead#123XXX. But try to optimize your search as it might take time. Hope this helps
Thanks & Regards
Gokul Ragunathan