(Upfront caveat: this isn't a perfect answer to your question, but it seemed useful/interesting enough to share.)
If you save the following text to a file with an extension of .bat or .cmd (e.g. runconditional.cmd):
@echo off
if %~z1 LSS 1048576 (
notepad.exe %1
) else (
c:\my\path\to\notepad++.exe %1
)
...then you should be able to use it to launch different programs depending on the size of a file. (I put 1048576--the number of bytes in a megabyte--in the script, but you can replace that with a number of your choice or even turn that into a second parameter of the script.) Example usage would be something like:
runconditional.cmd c:\mysmallfile.txt
(You can run this from a Command Prompt or from Start...Run.) The next step would be for you to associate this script with the files of your choice. I'm not sure offhand if you can directly associate a file type directly with a script, but at the least you'd be able to associate it with:
cmd.exe /c c:\path\to\runconditional.cmd
One possible downside to this approach is that you may see a console window flash on the screen between double-clicking the file's icon and seeing notepad (or notepad++, or...) launch.