Once you register a topic, you receive a topic_id that will from then on be associated with it. Use that topic_id, along with topicIdType=0x00 (normal topic id) to publish/subscribe to that topic.
Short topic name can be used only if you are subscribing/publishing to a 2 byte long topic - and want to avoid the registration step. In that case you can set topicIdType=0x02 and use the 2 bytes reserved for the topic to be the actual topic string.
A predefined topic name is something hard coded into both your gateway and your client - there is no registration or dynamic configuration. There are also no predefined topic names mandated in the MQTT-SN spec, so anything you implement is up to you. To use one, set topicIdType=0x01. Most likely, you'll want to configure some predefined topic names for interesting topics in the $SYS/ tree (which many MQTT brokers support only by convention).