Hi,
For both custom field you'll have to create custom fields with the table option set to Item :
1. For your first custom field, if you want to change your product price regarding the number of character that your customer have set for your custom field, you'll have to use some code customization but that won't be that easy and some developer skills will be required.
Note that you can use characteristics to set a "character range" selection.
2. For your second field, you'll just have to set the Field type to File.