If you are testing for a file's existence with something like OPEN #1:"DSK1.DUMMY",INPUT,INTERNAL,FIXED and it doesn't exist, you don't need a CLOSE #1 because the OPEN #1 didn't succeed. (I think you'll get a FILE ERROR if you try to CLOSE #1 actually).
If you are just using the file temporarily in a program run and you don't need it at the end, (that's what I took your explanation to me, but please correct me if I misunderstood) you can make it easier on yourself with something like the following:
100 OPEN #1:"DSK1.FILE",UPDATE,INTERNAL,VARIABLE
110 REM program lines
200 PRINT #1:"SOME DATA GOES IN THE FILE"
210 REM program lines
300 RESTORE #1
310 INPUT #1:A$::PRINT A$
320 REM rest of the program
500 CLOSE #1:DELETE
This allows the program to open the file, read it, write to it, do whatever it needs to do with what it did with the data in the file, and then clean it up at the end. Then you don't have to worry about the file existing when you run it again, because the file will only live as long as the program is running.
INTERNAL/DISPLAY - Think of it like this and I think it will help. INTERNAL is great if the only thing that's going to read the contents of the file is the computer itself. DISPLAY is perfect if a human is going to read it. Disk and cassette files are good candidates for INTERNAL, whereas the printer would be something you'd open with DISPLAY. At the same time though, if you have to transfer the file to another computer (say, Windows) you'll want to use DISPLAY. INTERNAL files are stored in TI's own proprietary format that another computer might not understand, but DISPLAY is standard ASCII.
INPUT/OUTPUT/UPDATE - I tend to use INPUT and OUTPUT more often than UPDATE. It's much clearer what you intend to do with the file with INPUT and OUTPUT for one thing, and if you were going to read one file and write to another, this gives you some insurance that you won't wreck your input file by accident. UPDATE is perfect for a RELATIVE file where all the records are the same size and you want to change individual records in the file. But it works fine with sequential files too if you need to read some data in the file to affect other data later in the file.
Be sure to use the EOF function when you are reading to check that you haven't hit the end of the file.
In the case above, you can set up a read loop that tests for end of file and then gets you out before you get an I/O ERROR with something like this:
100 OPEN #1:"DSK1.DUMMY",INPUT,INTERNAL,VARIABLE
110 IF EOF(1) THEN 150
120 INPUT #1:A$
130 PRINT A$
140 GOTO 110
150 CLOSE #1