Why am I seeing such an expensive index scan on tblMainAccounts
It's not that it is unable to perform a seek, the optimizer considered both alternatives and concluded that the merge join would be cheapest. This decision is influenced by the FAST 100 query hint. You are asking the optimizer for a plan that will produce the first 100 rows quickly (though the overall time to process the query might be longer than without the hint). If you are not sure why the hint is there, remove it and see what effect that has. Hints should only be added as a last resort, to fix a specific problem, and when the consequences are fully understood.
An index scan does not necessarily mean a full index scan is always performed. Query plans (generally) stream a row at a time through operators (pipelined execution). Merge join stops processing rows from its inputs as soon as either one runs out of rows. In this particular case, the other input to the merge join produced no rows, so the Index Scan stopped early.