Tiger Airways Singapore's IATA code is TR while Tiger Airways Australia's one is TT, but the ICAO code for both is TGW. I thought that the ICAO codes are meant to be unique from one airline to another, not the other way around. Is this the only case?
ICAO three-letter codes are always unique. The official source, ICAO Document 8585, says the following:
1.2 The same designator will not be registered for more than one aircraft operating agency, aeronautical authority or service.
1.3 No more than one three-letter or telephony designator will be registered for each aircraft operating agency, aeronautical authority or services.
In your example, Tiger Airways Singapore only exists as a single airline in document 8585. The fact that they have an Australian division does not mean that it is a separate aircraft operator, and thus no separate ICAO code can be assigned.
You can find more rules regarding ICAO identification codes, including a complete list of every ICAO code in the world, in doc 8585: http://dcaa.trafikstyrelsen.dk:8000/icaodocs/Doc%208585/DOC%208585,%20Edition%20no%20149.PDF
Interestingly, British Airways seem to contradict the above rules with their seasonal "Santa" flights. Around Christmas, certain British Airways flights will operate with the XMS ICAO code (radio callsign "Santa"), instead of the usual BAW ICAO code (radio callsign "Speedbird"). In ICAO doc 8585, the XMS code is registered to "British Airways Santa", which I very much doubt is the name of a real company, so it does seem there are ways around the rules quoted above.