This is sample DD selection code. I check the UCB just after the RDJFCB. I could check for a JES2 dataset and consider it a sequential dataset, but I don't. TIOEFSRT is in the TIOT DD entry. UCBOB, UCBTBYT3 and UCB3DACC are in the IEFUCBOB macro. Since I have a UCB address, the alternate method to check device type, DEVTYPE, isn't necessary here. This code is AMODE 24, it will work AMODE ANY with one minor change. I don't think the SR 0,0 just before the OBTAIN macro is necessary any more, but back in OS/360 I had an OBTAIN fail if it wasn't there, so I still put it in. Notice that I'm checking for DSORG=PO and a member name specified in the JFCB; this is effectively a sequential dataset.
MVC DCBDDNAM-IHADCB+SEQDCB,TIOEDDNM
RDJFCB MF=(E,OPEN2)
ICM 1,B'0111',TIOEFSRT
JZ BUMPDD
USING UCBOB,1
CLI UCBTBYT3,UCB3DACC
JNE SKIPOBT
DROP 1
SR 0,0
OBTAIN CAMLST
LTR 15,15
JNZ BUMPDD
ICM 0,B'0011',DS1DSORG
N 0,=AL1(0,0,255-DS1DSGU,255)
C 0,=AL1(0,0,DS1DSGPS,0)
JE SKIPOBT
C 0,=AL1(0,0,DS1DSGPO,0)
JNE BUMPDD
TM JFCBIND1,JFCPDS
JZ BUMPDD
SKIPOBT OPEN MF=(E,OPEN2)
One possibly useful enhancement is that you can count the records in a DSORG=DA dataset using a sequential DCB, but I'm unsure if that's real useful for you.
DS1DSORG is a two byte field; both bytes should be checked, not just the first byte.
HLASM is a programming language; it could not do a dataset list. The correct method to ask your dataset list question is something like, "Can I obtain a list of datasets in Assembler?" This is still not a complete question, since you do not specify the source of the dataset list. I presume you mean,"Can I obtain a list of dataset names from the catalog?" Yes, you can use the IGGCSI00 program, but that's another topic. Another method would be to examine the output from IDCAMS. I have used both methods in the past.