Which design are you talking about; the one I have for the many to many, or the one with a single property containing a comma delimited list?
I'd have to dust off the old oracle book to even start determining what you would need to do with the comma delimited list, and then install an oracle to test it (no way work would let me build a new db just to test). I'm fairly good with structural design, but my query skills are somewhat mediocre.
Problem is that's simply a string. I don't think it will work directly with a correlated subquery, but I guess you could try that to see (if you want; correlated are IMO too slow). You wouldn't be able to use it as a part of a join though since it is literally just a string.
To me it sounds like you have it built correctly based on what you have said for record counts to data. This is normal, for every entry matching within the query, you have replication for the other controlling fields. So if you looked for projectid, projectname, and developername based on the 3 tables above, and you have 2x developers, you would have two records both of which contain projectid and projectname as well as the developername. You then use the language to format it appropriately for display.