Start by studying the "blink without delay" example. Expand it to make two leds blink. The two leds should blink independently from each other. Also, you should be able to change their blink times independently from each other.
All of this without touching a pushbutton.
Once you understand the non-blocking delay mechanics, you can start polling the two buttons with the same technique. You need two state variables for each led: one to tell you if the led is currently on or off, the other to tell you if it's blinking or not. When you detect a change in the button state (from not pressed to pressed), you switch the "is blinking" state variable of the corresponding led.
Hmm... too much meat probably :P I hope it makes at least some sens to you :)