Next month I am going on holiday to Germany. I am a Portuguese citizen who lives in the UK and I am travelling with my Portuguese passport. However, my sister's passport is expired and she has only her Portuguese national id card (cartao de cidadao). Would she be able to leave the UK and travel to Germany with her national id card, or would she need her Portuguese passport?
Yes, this is fine.
An EU ID card is valid for entry into any EU member state - Wikipedia specifically states that the Cartao de Cidadao is a "valid travel document within all of Europe".
The only disadvantage of using an ID card is that you may not be able to use the e-Passport gates, so you may have to wait longer at passport control (this is definitely the case in the UK).