Are these sentences correct:
1-He had better have cleaned the table already.
(The table has to have been cleaned by now).
2-Yesterday he told me I had better stay in.
Both sentences are acceptable, though I would use 'by now' rather than 'already' in the first.
Context is always important; labelling is rarely important.
I'd say 'He'd better have cleaned the table by now'.