Yes, bit 0 for clock and bit 7 for data. INC DEC will put a positive pulse on the clock in bit 0 without affecting the other bits, as long as you be sure to start with it being a 0. Bit 7 is automatically transferred to the N bit to test after many of the operations, so it makes sense to have that be the data.
As a possible tip for efficiency: your STA &0000 in some assemblers may assemble a three-byte absolute instruction 8D 00 00, rather than a two-byte ZP instruction 85 00, and will take an extra cycle. STA &00 (or STA $00 or STA 00H in most assemblers, or just STA 0 since 0 is 0 in any base) will assemble the more-efficient two-byte instruction.
It would be good to give the location a meaningful name though, and refer to it by that name in the code. When you come back to it to improve it two years later, you'll need the name telling you what that location is supposed to contain. Also, if you need to change the location, giving it a name takes away the need to change a number in every line it's used. You'll only need to change it in the one line where it's assigned, for example,
Code:
I2C_INPUT: EQU 00 ; 1 byte
or your assembler may offer a way to consecutively assign variables, so if you decide one in the middle of the list now needs three bytes instead of two, you don't have to manually adjust all the EQU's that come after it. The 2500AD assembler I used from the mid 80's to the mid-90's used BLKB, meaning, "Allot a
bloc
k of n
bytes," where 'n' was the parameter given after the BLKB directive, like in this line which gave the next two available bytes to variable KEY_TM ("key time"):
Code:
KEY_TM: BLKB 2 ; Record when to do a key beep or make key begin repeating.
Assuming your assembler allows it (I haven't seen any that don't), putting the comments to the right of the instructions will make the source code a lot easier to look at.