I want to modify the following DDL to add CHECK constraints so that the manager of a store works at the same store and a store supplies all the products if its type is \'local\'
A CHECK constraint is limited to a single row in a single table.
If you really want to implement that kind of check I guess you would have to use triggers.
Note that you have modeled a many-to-many relationship for works-at and manages. If it were a many-to-one it would have been doable because it would look like Employee(number, name, works_at_store_code, manages_store_code). And the constraint would simply be CHECK (manages_store_code is null or manages_store_code = works_at_store_code).