Based on your description , to avoid manually creating Task list I suggest to create a custom view called time line or Tasks as you need and show only the fields available to your list like contract name , contract period , contract expiration date , then try to create a filter with expiration date to show all contract that not expired.
you can also add calculated field to subtract expiration date from current date, you can find how to create calculated list filed here.
For more enhancement you can build conditional formatting on the calculated field to show it as color as mentioned in this threadthread