sys.syscomments, like all catalog metadata views, is a view not a table. You can look into the actual view definition:
sp_helptext 'sys.syscomments'
and you'll see that the actual text of the object definition is obtained using CROSS APPLY on an internal rowset (ie. a relational operator). So there are no multiple rows in the base tables, the definition is simply split for you on-the-fly into multiple rows so that one single large text modules can be presented as multiple nvarchar(4000) chuncks.
On the other hand if you check the definition of the other view sys.sql_modules :
sp_helptext 'sys.sql_modules'
you'll see that the module text is obtained through the scalar function OBJECT_DEFINITION.
As a general rule, there can never be any performance benefit from splitting a single field into multiple rows.