Sub categories with extra field
I would just leave the URL field blank for parent categories.

In the template you could check if the the category is level two before outputting the URL field.

{% if category.level == 2 and category.categoryUrl %}
    {{ category.categoryUrl }}
{% endif %}