I'll attempt to go through the questions in order.
For the box, I'd personally go with a RigidBody2D, as a StaticBody2D would be more appropriate for immovable objects. A StaticBody2D won't be moved, but can impart some force on the more movable RigidBody2D.
For the "pushing slowing the player down", you'd check which body the KinematicBody2D's Area2D is touching, and reduce the speed the character can move. This would include a small if/else block in your movement section, where IF the player is pushing against the block, speed is reduced, otherwise (a.k.a. ELSE), movement is normal.
The moveandslide() method may help, in case your character needs to go around the box, and/or jump over it. I think there's something you can do to check the direction the player is going, and if there is a box immediately in the way, too.
It's okay if these questions are basic. Everyone's a beginner at some point. It can help some of us help you if you show a little of your code. Perhaps letting us see what's in the Player.gd and your box's scripts will help.