The knocking and the low water pressure could be caused by sediment build-up in the water heater tank. If you have not flushed the sediment out of the water heater within the last year or two, I recommend that you use the procedure in this Manage My Home article:
Flush sediment from your water heater
A problem with the faucet may also be causing the knocking sound and low hot water pressure. It is difficult to predict the exact cause of the problem without physically examining the piping and fixtures. I recommend that you call a plumber to examine the faucet and pipes if flushing the sediment in the water heater does not help resolve your problem.
The problem with the dishwasher could be caused by low hot water pressure and flow depending on the exact model that you have. Check the fill level of the water in your dishwasher. After the dishwasher initially fills but before the spray starts, crack the door open to stop the cycle and then open the door fully. Look at the water level in the bottom of the tub. It should be within 1/4" to just touching the bottom of the heating element in most models of Kenmore Elite dishwashers. If the water level is low, it can affect the cycle time in some models. Try filling the dishwasher manually with more hot water (use a container or bucket) until the level is proper in the tub. Each time it fills, you will need to add more more water. If the dishwasher cycle time is normal after adding more water, then the low water level was causing your long cycle times.
Low water temperature can also cause long cycle times in some Kenmore Elite dishwashers. To check the water temperature, run the sink tap for 1 minute and then fill a glass with water. Measure the temperature of the water in the glass with an accurate thermometer. You should measure about 120 degrees. If not, the water heater will need to be adjusted.
If you need more help with the dishwasher problem, resubmit your question with the full model number and additional details.