I have two lists one is "to do tasks" and other one "completed tasks" Can we create a workflow so that when the users change the status of the Task to “Completed” or "% Column" to 100% the task get automatically moved to the “completed tasks” List?
You can create a reusable workflow in SharePoint Designer and then associate it with your "To Do Tasks" list. This workflow can be set to trigger automatically whenever a list item is updated (i.e. marked as completed).
See this post for details on creating a workflow which copies items between lists: http://blogs.salmanghani.info/?p=479
Another much easier alternative would be to just use a single tasks list with a status column which either contains "incomplete" or "complete". This status can be updated with a single line of code in an event receiver. Obviously you would just need to then create 2x views on your list (one showing all incomplete tasks, and the other showing all competed tasks).