Yes, 誰か can safely take は if there is a reason to do so. As you said, this 誰か is not for making a question but is a lexicalized noun meaning "someone". It behaves almost like other ordinary nouns, and you can attach arbitrary particles as long as it makes sense (誰かを, 誰かに "to someone", 誰かと "with someone", 誰かから "from someone", 誰かの "someone's"...).
Then what's the difference between the following two sentences?
- 誰かが教室に入ったみたいだな。
- 誰かは教室に入ったみたいだな。
Both are grammatical sentences, and we need nothing new or special to explain the difference. が is used when you plainly introduce 誰か into the discourse, while は is used to make a "contrast". In addition, although less common, you can use は after introducing 誰か into the discourse. For example:
- (お前と俺は教室に入っていないが、)誰かは教室に入ったみたいだな。
Looks like someone (else) entered the room (although you and I didn't).
- 誰かが学校にいた。その誰かは教室に入ったみたいだな。
Someone was in this school. And that someone seems to have entered the classroom.
- オフィスに誰かがいます。
There is someone in the office.
- オフィスに誰かはいます。
There is at least someone in the office.
The same is true with 何か:
- この扉を開ける何かが必要だ。
You need something to open this door.
- この扉を開けるのに鍵は必要ないが、何かは必要だ。
You don't need a key to open this door, but you still need something (else).
何も/誰も is not even a noun (it's a negative-polarity adverb), and it doesn't take any particle including は. 何でも/誰でも does not take は in a nonnegative sentence, but it sometimes takes contrastive-は in a negative sentence. For example, 何でもは買えない is "We cannot buy everything", 誰でもは買えない is "Not everyone can buy it".