Convert 3rd party NXT programming language code to NXT-G program?
No, there is no automated way to convert source files from other programming languages into un-compiled NXT-G code. The .rbt format is very complex, so writing a program to interpret programs written in other languages and generate a proper .rbt file with properly placed and configured blocks would be an incredibly time-consuming and tedious task that wouldn't be worth the effort. You'd be better off manually translating each program manually.

As for your second question, it is possible to make custom blocks for NXT-G, although not in any text-based languages. Custom blocks are made in LabView, a graphical programming language that has a wide variety of uses, including programming NXT robots. See this tutorial on creating custom NXT-G blocks if you're interested:

ftp://ftp.ni.com/evaluation/mindstorms/NXT_Creating_MINDSTORMS_Blocks.pdf