So the meaning is:
"It's 9 o/clock. I'm going to be at home for two more hours, which means I shall be leaving at 11 o/clock"
and if I want to say something like :
"It's 9 o/clock. I came in at 7 o/clock, which means I've been at home for two hours." I should say "I've been home since 2 hours ago".
I would generally understand the sentence "I'm home for 2 hours" to mean that you will be home for two more hours [from now], then you will leave.
This is quite different from "I've been home for 2 hours" or "I arrived/got home two hours ago" or "I've been home since 7:00." I would use the word since when you specify the hour, but not the length of time.