Bobby, I recommend you start a new thread for each new question, unless of course it's a followup to a old one. This one, I'd say, should be a new topic.
1) You probably realize it already, but if a profile owns DATASET(ABCD) then everyone in that profile has all access, not just you. Just sayin'.
2) There might be another way to do it, but yeah, I'd start by moving that ownership to some other ACID. If there's no user or group of profiles whom you want to have DATASET(ABCD) ACC(ALL) then move the ownership to a department ACID. (Definitely do not assign the ownership to ALL.) You can do this two ways (that I know of):
tss rem(profilex) dataset(abcd)
tss add(dept1234) dataset(abcd)
tss add(dept1234) dataset(abcd) undercut
The "undercut" argument means "yeah, I already understand that someone else owns that; take it away". Someone at CA may tell you I don't have the concept quite right, but that's how I understand it.
3) Yes, once you have the ownership assigned to an ACID without granting any access, you can then handle the permissions as you want to:
tss per(profilex) dataset(abcd.xyz) access(read)
tss per(profilex) dataset(abcd) access(all)
(You understand that "123" wouldn't be valid for a dataset name.)
4) IIRC you speak RACF, right? The matter of the dot in a dataset permission (or in any other class, for that matter) is about what you might expect. If you permit someone DATASET(ABCD.) (with the period) it's equivalent to ABCD.*.** in RACF; it permits to any dataset that starts with "ABCD.". (Not quite the same as ABCD.** in RACF, because that includes a dataset with just the HLQ and nothing else, but in TSS if you specify the period then there has to be a period in the DSN.) Without the period—DATASET(ABCD)—it's equivalent in RACF to ABCD*.**; the dataset must start with "ABCD". You see?