If you are looking for a hotel directly in Portimao (rather than near the beach), there are not many options. Made Inn hotel is close to both, train and bus stations, and also close to all amenities, shops, shopping centres etc. Simple decor, but clean and very nice and helpful staff.