Yes, you are right.
For 拾う and している, I think everybody pronounces them with ou and ei.
For 姪, I would pronounce it mei, but I'm not convinced that some people wouldn't pronounce it mee. In the case of 姪御{めいご}, which is sonkeigo for 姪, I think even I would pronounce it meego.
I don't know if there are strict rules about when to pronounce it either way, but here are some guidelines that I think might help:
Hiragana and kanji
Pronounce them as written if part of different words/morphemes/kanji, i.e. している, 乗っていく, 子牛{こうし}. I put 拾う under this rule as well, considering ~う a present-tense ending.
Pronounce kun-yomi as written, but on-yomi (when it doesn't go across 2 kanji) as long vowels, i.e. 名 mee, but 姪 mei. 塔 too, but 問う tou. In the middle of morphemes, though, like in 儲{もう}かる mookaru, pronounce as long vowel, even for kun-yomi. Not sure if 姪御 as meego would fall under this exception as well, though.
Certain common words, like もう, こう, そう, どう are pronounced with long vowels.
Katakana
Simple, pronounce as long vowel when using ー, otherwise separately, i.e. スペイン supein, but ページ peeji
Sorry for being wishy-washy, but I think with these guidelines, you should be OK in 99% of the cases. I'm curious too if there are any standard rules for this.