As a rule, if the question is "How do I do X with a repeated schematic symbol?" the answer is "By not using a repeated schematic symbol". The "repeat" syntax breaks down quite quickly when you either have to meet a particular net naming convention or have to break out a lot of individual signals from the repeated block as both the OP's question and the DDR3 question illustrate.
In the DDR case I would consolidate a lot of those signals into one or more harnesses (with the harnesses brought out by ports/sheet entries), place four separate instances of the sheet symbol, and break out the components of the harnesses to get the busses and discrete control signals hooked up as needed. Note that unlike buses and 'repeat'ed sheet entries, harnesses can be hierarchical, and can contain other harnesses or busses, so you can package up a whole mess of signals into one neat line on the schematic, then break out from there as needed. You can wrap all of this up into an intermediate sheet if you don't want to clutter your top level sheet.
Note that multichannel features in the PCB editor will still work with multiple instances of the same sheet even if you don't use the repeat syntax, so the only thing you lose by not using repeat is some extra space on the schematic, but you gain a lot of flexibility in how you can hook things up.