Any tutorial you find on converting a number field to currency would work
Here’s one I found: http://jsfiddle.net/uzbjve2u/. You don’t need the javascript. Pass min and max as attributes in the Piklist field.
For a field that not’s editable you can use the standard HTML attribute readonly:
https://www.w3schools.com/tags/att_input_readonly.asp
piklist('field', array(
'type' => 'text'
,'field' => 'name'
,'label' => 'Name'
,'attributes' => array(
'readonly' => 'readonly'
)
));