1. Через OnBecameVisible/Invisible включаешь/выключаешь префаб на канвасе (или из пула достаёшь/убираешь). Кстати, такие префабики лучше в отдельный канвас засунуть, чтобы избежать лишнего оверхеда при ребилде.
2. Можно worldToScreen, можно на матрицу камеры умножать, чтобы в её пространство перегнать координаты.
3. И, грубо говоря, клампишь о границы экранного пространства. В эту точку разместишь центр префаба.
За счет LookAt вращай объект, чтобы смотрел на центр канваса.