If you can store the full hash (not truncated) you shouldn't have any collisions with a 9 digit SSN using most secure hashes.
To keep the hashes from being brute forcible use HMAC-Sha1 or HMac-Sha256 with a secret key. Here is a related answer that involved phone numbers and anonymizing data https://stackoverflow.com/a/15888989/637783
An AES-256 result wouldn't be usable later with out decryption, as AES-256, properly and securely used, produces different results for the same input. However, it could be used reasonably in a relational table in which your ssn was encrypted and stored against a primary key which other tables are referencing the key instead.
The later option would allowed you to rotate your keys pretty simply too, over time.