Q1: Yes.
Q2: Yes.
Q3: It depends but generally not much.
Q4: No.
Without getting into the technical details of how you recover the energy, consider it from a conservation of energy perspective.
Yes, you can generate energy from roadways or stairs in a number of ways, but that energy has to come from somewhere.
If you make the road generate energy from the cars traveling over it, then you will reduce the fuel economy of the cars driving on it. If you take energy from stairs, you will make them harder to walk up. By the time you've collected enough energy to be useful, you've normally had a significant impact on the practicality of the road/stairs you are using.
Roads do heat up a small amount when driven on; this is a mixture of heat generated in the road surface and heat transferred from the tires, which heat up when driven. This heat is effectively wasted and and so could in theory be used to generate usable energy with no penalty. That gives you a theoretical upper limit on the "free" energy that you could collect. However the total heating effect is only a few degrees and spread over a huge area, the inefficiencies involved gathering this energy (either before or after it becomes heat) and making use of it mean it's simply not a practical idea from an economic point of view.
Anything you do to gain more energy than that will make it harder for the cars to roll on the road and so reduce their efficiency. At that point, you are burning fuel to generate electricity, you may as well cut out the middle man and use a generator.
There is one time when cars want to lose energy, when they are slowing down. Conventional cars throw the extra energy away as heat in the brakes. If you could come up with a road surface that only tried to remove energy from the car while it is slowing, then that would be a potentially practical energy generation system. So far the most practical system for doing this has proven to be to build the equipment to do this into the car rather than the road and call it a hybrid car.