Well...
Final Fantasy XIII took me 68 hours to complete, that includes doing some of the missions and grinding to max crystarium before the end boss. Although now I'm on 92 hours and have still not finished all of the missions, let alone 5*'d them all, and I've been upgrading peoples weapons to ultima, as well as levelling up their minor roles, I can see myself putting around 110-120 hours into it when all is said and done.
inFamous took me 18 hours to do on my first playthrough, and that includes the sidemissions, although I've played for like 24 hours on that save, trying to find all of the shards, trust me, some of them are ridiculously hard to find! My second playthrough (The replayability is good, you can be good or evil), I'm on hard mode so it's taking a little longer, I'm like 50% through the game and on 12 hours, although I've been messing around quite a bit anyway.
Pokémon Soul Silver, to be honest, if you've played the original, you're not missing much, it's pretty much just revamped with the graphics and they've added a few new features. The original game took me overall about 40-50 hours to finish, but that was also levelling up all my Pokémon to 99, well, my favourite 6 anyway... and I'm not planning on buying SS/HG until it bombs in price, maybe £9.99 will net me a purchase, but not yet.
Personally out of the two, I'd buy inFamous...