If the rules of overriding are not followed- then it becomes method overloading and that will surely not participate in the kind of polymorphism we are talking when we consider overriding.
Not really, static methods are class-wide methods, and not instance-wide methods. First you have to think of difference between a class and an instance of that class, thus instance methods are methods for instances of a class, and static methods are for class itself. For example this is the reason you cannot call instance methods inside static methods, because in static methods there is no instance, it is class-wide.