Hi Akhil,
By using user exists you can validate data in the milestone fields (i.e basic fix date and actual date) . If user changes the date in the validated field, system cross checks with existing dates in mlst table and triggers a workflow event while saving project. discuss further with your technical consultant and check feasibility.
Regards,