He isn't disappearing he is garrisoning. Aka going inside the village to defend it. Like other units when he is garrisoned it shows a shield near the town. To get him out click on the village, and there should be an icon of the unit to the right of the main UI. You click on that and at the top of that small icon is an arrow of some sort, click again and he is ejected onto the nearest none city limit square.
Edit: Also that sporadic thing you may be talking about is if you have him selected you can order him to move to a new square which would entail him to move out. Though it may seem sporadic check to see if he has any move points. If not press enter to see what happens.