Let's break the question down into two elements:
1) Is using 100,000 iterations good enough for password storage?
It depends! You should always use as high an iteration count/work factor as your system can handle with reasonable responses, understanding that your side will be single-threaded (hashing the one provided password), while the attacker will be parallel (trying many possible passwords simultaneously).
So, determine how much time you can afford to spend on each hash; if your rules is the hashing can take no more than 1/10th of a second, and you expect 16 logins per second on an 8 core box, then the hash iteration count/work factor should take 1/20th of a second.
2) Is using SHA-256 good enough for password storage?
By itself, no. As part of a construct including a salt, yes, absolutely. The construct you're looking for that uses SHA-256 is PBKDF2-HMAC-SHA-256, which uses iterations of HMAC-SHA-256, which is simply HASH(Key XOR opad, HASH(Key XOR ipad, text)) where ipad and opad are fixed values (sized for SHA-256).
PBKDF2 (RFC2898) iterates them as such:
U_1 = PRF (P, S || INT (i)) ,
U_2 = PRF (P, U_1) ,
...
U_c = PRF (P, U_{c-1}) .
It is important to note that the HMAC construct is the PRF.
Answer: Yes, if you use PBKDF2-HMAC-SHA-256 with 100,000 iterations AND you can't fit more into the time available
You can find a variety of PBKDF2 implementations at my Github repository, including a variety of languages and from-scratch implementations as well as OpenSSL and PolarSSL and other library based implementations, including test vectors.
Please compare the speed of whatever you write and whatever else is available to you - for secure password hashing you must use your fastest implementation