OK - I'll help a little. This assumes that you have a working traffic light program already. These are questions to guide your development.
1. What are the added inputs (the buttons?). How many and at what addresses will they be assigned?
2. Are there any added outputs (like "walk/don't walk"?). How many are there? At what addresses are they assigned?
3. Assuming someone presses a button, is this remembered by the system or will they have to still be pressing the button at the right moment?
4. Assuming a button has been pressed, does this affect your basic timing that you have already established? If so, how will you do this?
5. If there are added outputs (the "walk/don't walk" lights) when will thses be activated?
Now dive in, answer these questions (for yourself, don't post the answers here) then start modifying your base program.