There is no Albergue in Sao Joao but the closest thing to it is Casa de Misericordia. It's near the center but it's very basic: has mattresses on the floor and showers nearby. It's ok for one night but wouldn't suit everyone. It might have a curfew, ask about it. On the way from Lisbon I aslo stayed in another Casa de Misericordia in Santarem and that one was a delight, too good to be true.