I did a game where the players were ghosts in possession of the recently dead. I just divided everything into Ghost World and Living World and created Limitations to apply to things on the PC's sheet that only worked in one or the other. That worked really well in this case; I just made Powers as normal and applied an extra Limitation. For transitioning between the Ghost World and Living World I used Extra-Dimensional Movement (see below). For a game where spirits are a rare thing this approach might not be so great because you don't want to have to retroactively apply a Limitation to all of the PCs existing Powers now that there's a Spirit World to worry about. Instead I would just use Transdimensional as needed for powers that can cross the barrier between the two worlds.
I generally feel like having geographically overlapping dimensions is an easier approach than messing around with Desolidification.
Example
Enter Ghost World (24) - Extra-Dimensional Movement (20), Any physical location in a single dimension (+5), Character can only travel to the physical location in the other dimension corresponding to his physical location in the dimension he's currently in (-3), leaves body behind (0), Costs 0 END (+1/2) (42 active points), Only works in Living World (-3/4)