No. Your agent must merely traverse the entire room and clean up any dirt it finds along the way. You do not need to specify what the agent does after it has been to the last square.
Technically, conditional effects (e.g., When (facing(North)):...) are not part of STRIPS, so please don't use them. However, if you find that you want to represent actions that have different effects depending on the situation, you may create more than one STRIPS action for each of the agent's actions.
Yes, certainly ADD CLEAR $OBJ should be an effect. However, I believe the language used in Figure 4.6 implicitly assumes that the goal of any given plan is also an effect. Thus, it is somewhat redundant (although less clear) to explicitly include CLEAR $OBJ in the list of effects.